mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 13:53:45 +03:00
107 lines
3.1 KiB
Lua
107 lines
3.1 KiB
Lua
|
|
--[[
|
||
|
|
| This file was obtained through the combined efforts
|
||
|
|
| of Madbluntz & Plymouth Antiquarian Society.
|
||
|
|
|
|
||
|
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||
|
|
| Maloy, DrPepper10 @ RIP, Atle!
|
||
|
|
|
|
||
|
|
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||
|
|
--]]
|
||
|
|
|
||
|
|
|
||
|
|
ITEM.name = "Carte de la H.A.A"
|
||
|
|
ITEM.model = Model("models/n7/props/n7_cid_card.mdl")
|
||
|
|
ITEM.description = "Une carte CID de la Haute Autorité Administrative."
|
||
|
|
ITEM.category = "Combine"
|
||
|
|
ITEM.skin = 1
|
||
|
|
ITEM.iconCam = {
|
||
|
|
pos = Vector(0, 0, 10),
|
||
|
|
ang = Angle(90, 90, 0),
|
||
|
|
fov = 45,
|
||
|
|
}
|
||
|
|
|
||
|
|
function ITEM:GetName()
|
||
|
|
local accessLevel = self:GetData("accessLevel", "- Niveau 0")
|
||
|
|
|
||
|
|
return "Carte de la Haute Autorité Administrative " .. accessLevel .. ""
|
||
|
|
end
|
||
|
|
|
||
|
|
function ITEM:GetDescription()
|
||
|
|
local idCard = ix.item.instances[self:GetData("cardID")]
|
||
|
|
return idCard and string.format(self.description.."\n\nActuellement lié au CID #%s.", idCard:GetData("cardNumber")) or
|
||
|
|
(self:GetData("cardID") and self.description.."\n\nActuellement lié." or self.description)
|
||
|
|
end
|
||
|
|
|
||
|
|
ITEM.functions.Bind = {
|
||
|
|
name = "Lier la carte CID",
|
||
|
|
icon = "icon16/vcard_edit.png",
|
||
|
|
OnClick = function(itemTable)
|
||
|
|
local cards = {}
|
||
|
|
|
||
|
|
for _, v in pairs(LocalPlayer():GetCharacter():GetInventory():GetItemsByUniqueID("id_card")) do
|
||
|
|
table.insert(cards, {
|
||
|
|
text = v:GetName(),
|
||
|
|
value = v
|
||
|
|
})
|
||
|
|
end
|
||
|
|
|
||
|
|
local cardsCount = table.Count(cards)
|
||
|
|
if (cardsCount > 1) then
|
||
|
|
Derma_Select("Lier le CID à la carte CID", "Veuillez sélectionner un CID à relier à cette carte :",
|
||
|
|
cards, "Sélectionner carte CID",
|
||
|
|
"Confirmer", function(value, name)
|
||
|
|
netstream.Start("ixBindDOBCard", itemTable:GetID(), value:GetID())
|
||
|
|
end, "Annuler")
|
||
|
|
elseif (cardsCount == 1) then
|
||
|
|
Derma_Query("Êtes-vous sûr de vouloir lier votre CID à cette carte ?", "Lier le CID à la carte CID",
|
||
|
|
"Confirmer", function()
|
||
|
|
netstream.Start("ixBindDOBCard", itemTable:GetID(), cards[1].value:GetID())
|
||
|
|
end, "Annuler")
|
||
|
|
else
|
||
|
|
LocalPlayer():NotifyLocalized("Vous n'avez pas de carte CID à lier.")
|
||
|
|
end
|
||
|
|
end,
|
||
|
|
OnRun = function(itemTable)
|
||
|
|
return false
|
||
|
|
end,
|
||
|
|
OnCanRun = function(itemTable)
|
||
|
|
if (IsValid(itemTable.entity)) then
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
|
||
|
|
if (!IsValid(itemTable.player)) then
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
|
||
|
|
local inventory = itemTable.player:GetCharacter():GetInventory()
|
||
|
|
|
||
|
|
if (!inventory:HasItem("id_card")) then
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
|
||
|
|
if (itemTable:GetData("cardID")) then
|
||
|
|
return false
|
||
|
|
end
|
||
|
|
|
||
|
|
return true
|
||
|
|
end
|
||
|
|
}
|
||
|
|
|
||
|
|
ITEM.functions.SetAccessLevel = {
|
||
|
|
name = "Modifier le niveau d'accès",
|
||
|
|
icon = "icon16/vcard_add.png",
|
||
|
|
OnRun = function(itemTable)
|
||
|
|
local client = itemTable.player
|
||
|
|
local accessLevel = itemTable:GetData("accessLevel", "0")
|
||
|
|
local target = accessLevel == "- NIVEAU 1 (MEMBRE)" and "- NIVEAU 2 (ADMINISTRATION)" or "- NIVEAU 1 (MEMBRE)"
|
||
|
|
|
||
|
|
itemTable:SetData("accessLevel", target)
|
||
|
|
client:NotifyLocalized("Vous avez fixé le niveau d'accès de cette carte à : " .. target .. ".")
|
||
|
|
|
||
|
|
return false
|
||
|
|
end,
|
||
|
|
OnCanRun = function(itemTable)
|
||
|
|
return (!IsValid(itemTable.entity) and IsValid(itemTable.player) and (itemTable.player:Team() == FACTION_ADMIN or itemTable.player:IsCombine() or itemTable.player:GetCharacter():HasFlags("M"))) == true
|
||
|
|
end
|
||
|
|
}
|