Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function createAdminDuty(factionT, dutyT)
- if isElement(DutyAllow.window[1]) then
- destroyElement(DutyAllow.window[1])
- end
- factionTable = factionT
- dutyChanges = dutyT
- DutyAllow.window[1] = guiCreateWindow(562, 250, 564, 351, "Paramètre du duty", false)
- centerWindow(DutyAllow.window[1])
- guiWindowSetSizable(DutyAllow.window[1], false)
- guiWindowSetMovable(DutyAllow.window[1], true)
- guiSetInputEnabled(true)
- DutyAllow.gridlist[1] = guiCreateGridList(9, 75, 545, 224, false, DutyAllow.window[1])
- guiGridListAddColumn(DutyAllow.gridlist[1], "ID", 0.1)
- guiGridListAddColumn(DutyAllow.gridlist[1], "Nom", 0.3)
- guiGridListAddColumn(DutyAllow.gridlist[1], "Description", 0.6)
- DutyAllow.label[1] = guiCreateLabel(10, 308, 73, 21, "Item ID:", false, DutyAllow.window[1])
- guiLabelSetVerticalAlign(DutyAllow.label[1], "center")
- DutyAllow.edit[1] = guiCreateEdit(83, 308, 78, 21, "", false, DutyAllow.window[1])
- DutyAllow.button[1] = guiCreateButton(318, 303, 108, 30, "Autoriser", false, DutyAllow.window[1])
- guiSetProperty(DutyAllow.button[1], "NormalTextColour", "FFAAAAAA")
- DutyAllow.button[2] = guiCreateButton(436, 303, 108, 30, "Retirer", false, DutyAllow.window[1])
- guiSetProperty(DutyAllow.button[2], "NormalTextColour", "FFAAAAAA")
- DutyAllow.label[2] = guiCreateLabel(11, 59, 543, 16, "Items autorisés", false, DutyAllow.window[1])
- guiLabelSetHorizontalAlign(DutyAllow.label[2], "center", false)
- DutyAllow.label[3] = guiCreateLabel(9, 348, 74, 24, "Vue:", false, DutyAllow.window[1])
- guiLabelSetVerticalAlign(DutyAllow.label[3], "center")
- DutyAllow.label[4] = guiCreateLabel(163, 308, 68, 20, "Valeur:", false, DutyAllow.window[1])
- guiLabelSetVerticalAlign(DutyAllow.label[4], "center")
- DutyAllow.edit[2] = guiCreateEdit(230, 308, 78, 21, "1", false, DutyAllow.window[1])
- DutyAllow.combobox[1] = guiCreateComboBox(1, 25, 242, 998, "Choisis une faction.", false, DutyAllow.window[1])
- exports.global:guiComboBoxAdjustHeight(DutyAllow.combobox[1], #factionT)
- DutyAllow.button[3] = guiCreateButton(442, 25, 102, 35, "Terminer", false, DutyAllow.window[1])
- guiSetProperty(DutyAllow.button[3], "NormalTextColour", "FFAAAAAA")
- DutyAllow.combobox[2] = guiCreateComboBox(255, 25, 124, 19, "", false, DutyAllow.window[1])
- exports.global:guiComboBoxAdjustHeight(DutyAllow.combobox[2], 2)
- guiComboBoxAddItem(DutyAllow.combobox[2], "Items")
- guiComboBoxAddItem(DutyAllow.combobox[2], "Armes")
- guiComboBoxSetSelected( DutyAllow.combobox[2], 0 )
- local row = guiGridListAddRow( DutyAllow.gridlist[1] )
- guiGridListSetItemText ( DutyAllow.gridlist[1], row, 2, "Choisis une faction...", false, false )
- for k,v in pairs(factionT) do
- guiComboBoxAddItem( DutyAllow.combobox[1], "(".. v[1] ..") " .. v[2] )
- end
- addEventHandler("onClientGUIComboBoxAccepted", DutyAllow.combobox[1], toggleFaction)
- addEventHandler("onClientGUIComboBoxAccepted", DutyAllow.combobox[2], toggleView)
- addEventHandler("onClientGUIClick", DutyAllow.button[1], allowItem, false)
- addEventHandler("onClientGUIClick", DutyAllow.button[2], removeItem, false)
- addEventHandler("onClientGUIClick", DutyAllow.button[3], closeGUI, false)
- end
- addEvent("adminDutyAllow", true)
- addEventHandler("adminDutyAllow", resourceRoot, createAdminDuty)
- function populateList(key)
- local selection = guiComboBoxGetSelected (DutyAllow.combobox[2])
- guiGridListClear( DutyAllow.gridlist[1] )
- if selection == 0 then
- for k,v in pairs(factionTable[key][3]) do
- if tonumber(v[2]) > 0 then
- local row = guiGridListAddRow(DutyAllow.gridlist[1])
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 1, v[2], false, true)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 2, exports["item-system"]:getItemName(v[2]), false, false)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 3, exports["item-system"]:getItemDescription(v[2], v[3]), false, false)
- guiGridListSetItemData(DutyAllow.gridlist[1], row, 1, tonumber(v[1]))
- end
- end
- elseif selection == 1 then -- Weapons
- for k,v in pairs(factionTable[key][3]) do
- if tonumber(v[2]) < 0 then
- local row = guiGridListAddRow(DutyAllow.gridlist[1])
- if tonumber(v[2]) == -100 then
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 1, v[2], false, true)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 2, "Armure", false, false)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 3, v[3], false, false)
- else
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 1, v[2], false, true)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 2, exports["item-system"]:getItemName(v[2]), false, false)
- guiGridListSetItemText(DutyAllow.gridlist[1], row, 3, v[3], false, false)
- end
- guiGridListSetItemData(DutyAllow.gridlist[1], row, 1, tonumber(v[1]))
- end
- end
- end
- guiSetText(DutyAllow.edit[1], "")
- guiSetText(DutyAllow.edit[2], "")
- end
- function toggleView()
- local item = guiComboBoxGetSelected (DutyAllow.combobox[2])
- guiGridListClear( DutyAllow.gridlist[1] )
- if item == 1 then -- Armes
- guiSetText(DutyAllow.label[2], "Armes autorisés")
- guiGridListSetColumnTitle(DutyAllow.gridlist[1], 2, "Nom")
- guiGridListSetColumnTitle(DutyAllow.gridlist[1], 3, "Munition Max")
- guiSetText(DutyAllow.label[1], "ID de l'arme:")
- guiSetText(DutyAllow.label[4], "Munitions max:")
- elseif item == 0 then -- Items
- guiSetText(DutyAllow.label[2], "Items Autorisés")
- guiGridListSetColumnTitle(DutyAllow.gridlist[1], 2, "Nom")
- guiGridListSetColumnTitle(DutyAllow.gridlist[1], 3, "Description")
- guiSetText(DutyAllow.label[1], "ID de l'item:")
- guiSetText(DutyAllow.label[4], "Valeure de l'item:")
- end
- if guiComboBoxGetSelected(DutyAllow.combobox[1]) and guiComboBoxGetSelected(DutyAllow.combobox[1]) > -1 then
- populateList(guiComboBoxGetSelected(DutyAllow.combobox[1])+1)
- end
- end
- function toggleFaction()
- local selected = guiComboBoxGetSelected(DutyAllow.combobox[1])
- if selected and selected > -1 then
- populateList(selected+1)
- end
- end
- function closeGUI()
- destroyElement(DutyAllow.window[1])
- guiSetInputEnabled(false)
- triggerServerEvent("dutyAdmin:Save", resourceRoot, factionTable, dutyChanges)
- end
- function allowItem()
- local itemID = guiGetText(DutyAllow.edit[1])
- local itemValue = guiGetText(DutyAllow.edit[2])
- local selection = guiComboBoxGetSelected (DutyAllow.combobox[2])
- local faction = guiComboBoxGetSelected (DutyAllow.combobox[1])+1
- local maxIndex = getElementData(resourceRoot, "maxIndex")+1
- if not tonumber(itemID) then return end
- if not exports['item-system']:isItem(itemID) and selection == 0 then
- outputChatBox("Ce n'est pas un item...", 255, 0, 0)
- return
- elseif not getWeaponNameFromID(itemID) and selection == 1 and tonumber(itemID) ~= 100 then
- outputChatBox("Ce n'est pas une arme...", 255, 0, 0)
- return
- end
- if faction and faction > 0 then
- --[[for k,v in pairs(factionTable[faction][3]) do
- if tonumber(v[2]) == tonumber(selection == 1 and -itemID or itemID) then
- outputChatBox("Tu as déjà autorisé cet item.", 255, 0, 0)
- return
- end
- end]]
- if tonumber(itemID) then
- if selection == 0 then -- Item
- table.insert(factionTable[faction][3], { maxIndex, tonumber(itemID), itemValue })
- table.insert(dutyChanges, { faction, 1, maxIndex, tonumber(itemID), itemValue })
- setElementData(resourceRoot, "maxIndex", maxIndex)
- elseif selection == 1 then -- Weapon
- if tonumber(itemValue) then
- if not weapBanList[-tonumber(itemID)] then -- Check if its banned.
- table.insert(factionTable[faction][3], { maxIndex, -tonumber(itemID), itemValue })
- table.insert(dutyChanges, { faction, 1, maxIndex, -tonumber(itemID), itemValue })
- setElementData(resourceRoot, "maxIndex", maxIndex)
- else
- outputChatBox("Cette arme a été interdite.", 255, 0, 0)
- end
- else
- outputChatBox("Les munitions max doivent être en nombre!", 255, 0, 0)
- end
- end
- populateList(faction)
- else
- outputChatBox("L'id de l'item doit être un nombre!", 255, 0, 0)
- end
- else
- outputChatBox("Choisis d'abord un item.", 255, 0, 0)
- end
- end
- function removeItem()
- local r, c = guiGridListGetSelectedItem ( DutyAllow.gridlist[1] )
- local faction = guiComboBoxGetSelected(DutyAllow.combobox[1])+1
- if r and r>=0 and c and c>=0 and faction and faction > 0 then
- local id = guiGridListGetItemData(DutyAllow.gridlist[1], r, 1)
- for k,v in pairs(factionTable[faction][3]) do
- if tonumber(id) == tonumber(v[1]) then
- table.insert(dutyChanges, { faction, 0, k })
- table.remove(factionTable[faction][3], k)
- populateList(faction)
- end
- end
- else
- outputChatBox("Choisis d'abord un item.", 255, 0, 0)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement