This commit is contained in:
lifestorm
2024-08-04 22:55:00 +03:00
parent 0e770b2b49
commit 94063e4369
7342 changed files with 1718932 additions and 14 deletions

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Munitions de .357"
ITEM.model = "models/items/357ammo.mdl"
ITEM.ammo = "357" -- type of the ammo
ITEM.category = "Balles"
ITEM.ammoAmount = 12 -- amount of the ammo
ITEM.description = "Une boîte contenant %s de munitions .357"
ITEM.classes = {CLASS_EOW}

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Munitions d'AR2"
ITEM.model = "models/items/combine_rifle_cartridge01.mdl"
ITEM.ammo = "ar2" -- type of the ammo
ITEM.category = "Balles"
ITEM.ammoAmount = 30 -- amount of the ammo
ITEM.description = "Une cartouche qui contient %s de munitions AR2"

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Munitions pour fusils d'assaut"
ITEM.model = "models/Items/BoxMRounds.mdl"
ITEM.ammo = "ar2" -- type of the ammo
ITEM.category = "Balles"
ITEM.ammoAmount = 30 -- amount of the ammo
ITEM.description = "Une boîte qui contient %s de munitions de fusil d'assaut."

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Flèches d'arbalète"
ITEM.model = "models/Items/BoxBuckshot.mdl"
ITEM.ammo = "XBowBolt" -- type of the ammo
ITEM.ammoAmount = 5 -- amount of the ammo
ITEM.category = "Balles"
ITEM.description = "Un paquet de %s carreaux d'arbalète"

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Munitions de .9mm"
ITEM.model = "models/items/boxsrounds.mdl"
ITEM.ammo = "pistol" -- type of the ammo
ITEM.category = "Balles"
ITEM.ammoAmount = 30 -- amount of the ammo
ITEM.description = "Une boîte qui contient %s de munitions .9mm"
ITEM.classes = {CLASS_EMP, CLASS_EOW}

View File

@@ -0,0 +1,23 @@
--[[
| 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 = "Missile RPG"
ITEM.model = "models/weapons/w_missile_closed.mdl"
ITEM.ammo = "rpg_round" -- type of the ammo
ITEM.ammoAmount = 1 -- amount of the ammo
ITEM.category = "Balles"
ITEM.width = 2
ITEM.description = "Un paquet de %s roquettes"
ITEM.iconCam = {
ang = Angle(-0.70499622821808, 268.25439453125, 0),
fov = 12.085652091515,
pos = Vector(7, 200, -2)
}

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Cartouches de fusil à pompe"
ITEM.model = "models/Items/BoxBuckshot.mdl"
ITEM.ammo = "buckshot" -- type of the ammo
ITEM.ammoAmount = 15 -- amount of the ammo
ITEM.category = "Balles"
ITEM.description = "Une boîte de %s cartouches de fusil à pompe"

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Balles pour SMG"
ITEM.model = "models/Items/BoxSRounds.mdl"
ITEM.ammo = "smg1" -- type of the ammo
ITEM.ammoAmount = 45 -- amount of the ammo
ITEM.description = "Une boîte qui contient %s de munitions pour SMG"
ITEM.category = "Balles"
ITEM.classes = {CLASS_EMP, CLASS_EOW}

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Munitions pour sniper"
ITEM.model = "models/items/sniper_round_box.mdl"
ITEM.category = "Balles"
ITEM.ammo = "sniperpenetratedround" -- type of the ammo
ITEM.ammoAmount = 15 -- amount of the ammo
ITEM.description = "Une boîte qui contient %s de munitions de sniper"
ITEM.classes = {CLASS_EMP, CLASS_EOW}

View File

@@ -0,0 +1,57 @@
--[[
| 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.base = "base_outfit"
ITEM.name = "Armored Clothes"
ITEM.description = "A suitcase full of clothes."
ITEM.model = Model("models/props_c17/suitcase_passenger_physics.mdl")
ITEM.category = "Armored Clothing"
ITEM.width = 2
ITEM.height = 2
ITEM.maxArmor = 0
if (CLIENT) then
function ITEM:PopulateTooltip(tooltip)
local panel = tooltip:AddRowAfter("name", "armor")
panel:SetBackgroundColor(derma.GetColor("Warning", tooltip))
panel:SetText("Armure : " .. (self:GetData("equip") and LocalPlayer():Armor() or self:GetData("armor", self.maxArmor)))
panel:SizeToContents()
end
end
function ITEM:OnEquipped()
self.player:SetArmor(self:GetData("armor", self.maxArmor))
end
function ITEM:OnUnequipped()
self:SetData("armor", math.Clamp(self.player:Armor(), 0, self.maxArmor))
self.player:SetArmor(0)
end
function ITEM:Repair(amount)
self:SetData("armor", math.Clamp(self:GetData("armor") + amount, 0, self.maxArmor))
end
function ITEM:OnLoadout()
if (self:GetData("equip")) then
self.player:SetArmor(self:GetData("armor", self.maxArmor))
end
end
function ITEM:OnSave()
if (self:GetData("equip")) then
local armor = math.Clamp(self.player:Armor(), 0, self.maxArmor)
self:SetData("armor", armor)
if (armor != self.player:Armor()) then
self.player:SetArmor(armor)
end
end
end

View File

@@ -0,0 +1,128 @@
--[[
| 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 = "Generic Equipable Item"
ITEM.description = "An item that can be equipped."
ITEM.category = "Equipable"
ITEM.model = "models/props_lab/box01a.mdl"
ITEM.width = 1
ITEM.height = 1
-- Inventory drawing
if (CLIENT) then
function ITEM:PaintOver(item, w, h)
if (item:GetData("equip")) then
surface.SetDrawColor(110, 255, 110, 100)
surface.DrawOutlinedRect(1, 1, w - 2, h - 2)
end
end
function ITEM:PopulateTooltip(tooltip)
if (self:GetData("equip")) then
local name = tooltip:GetRow("name")
name:SetBackgroundColor(derma.GetColor("Success", tooltip))
end
end
end
function ITEM:Equip(client)
self:SetData("equip", true)
self:OnEquipped(client)
end
function ITEM:Unequip(client)
self:SetData("equip", false)
self:OnUnequipped(client)
end
ITEM:Hook("drop", function(item)
if (item:GetData("equip")) then
local character = ix.char.loaded[item.owner]
local client = character and character:GetPlayer() or item:GetOwner()
item.player = client
item:Unequip(item:GetOwner())
end
end)
ITEM.functions.EquipUn = { -- sorry, for name order.
name = "Déséquiper",
icon = "icon16/cross.png",
OnRun = function(item)
item:Unequip(item.player)
return false
end,
OnCanRun = function(item)
local client = item.player
return !IsValid(item.entity) and IsValid(client) and item:GetData("equip") == true and hook.Run("CanPlayerUnequipItem", client, item) != false
end
}
ITEM.functions.Equip = {
name = "Équiper",
icon = "icon16/tick.png",
OnRun = function(item)
local client = item.player
local char = client:GetCharacter()
local items = char:GetInventory():GetItems()
if (item.equipableCategory) then
for _, v in pairs(items) do
if (v.id != item.id) then
local itemTable = ix.item.instances[v.id]
if (v.equipableCategory == item.equipableCategory and itemTable:GetData("equip")) then
client:NotifyLocalized(item.equippedNotify or "itemAlreadyEquipped")
return false
end
end
end
end
item:Equip(item.player)
return false
end,
OnCanRun = function(item)
local client = item.player
return !IsValid(item.entity) and IsValid(client) and item:GetData("equip") != true and item:CanEquip(client) and hook.Run("CanPlayerEquipItem", client, item) != false
end
}
function ITEM:CanTransfer(oldInventory, newInventory)
if (newInventory and self:GetData("equip")) then
return false
end
return true
end
function ITEM:OnRemoved()
if (self.invID != 0 and self:GetData("equip")) then
self.player = self:GetOwner()
self:Unequip(self.player)
self.player = nil
end
end
function ITEM:OnEquipped(client) end
function ITEM:OnUnequipped(client) end
function ITEM:CanEquip(client)
return client:GetCharacter():GetInventory():GetID() == self.invID
end

View File

@@ -0,0 +1,15 @@
--[[
| 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 = "Permit Base"
ITEM.model = "models/props_lab/clipboard.mdl"
ITEM.description = "A permit for purchasing goods."
ITEM.category = "Permits"
ITEM.permit = "none"

View File

@@ -0,0 +1,142 @@
--[[
| 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 = "Tools Base"
ITEM.description = "Breakable tools for crafting purposes"
ITEM.category = "Outils"
ITEM.maxDurability = 8
ITEM.isTool = true
local color_green = Color(100, 255, 100)
local color_red = Color(200, 25, 25)
if (CLIENT) then
function ITEM:PaintOver(item, w, h)
local maxDurability = item:GetMaxDurability()
local durability = item:GetDurability()
local width = w - 8
local cellWidth = math.Round(width / maxDurability)
local color = ix.util.ColorLerp(1 - durability / maxDurability, color_green, color_red)
surface.SetDrawColor(color)
for i = 0, durability - 1 do
surface.DrawRect(5 + i * cellWidth, h - 8, cellWidth - 1, 4)
end
end
end
ITEM.functions.SetMaxDurability = {
name = "Définir durabilité MAX",
icon = "icon16/wrench.png",
OnClick = function(itemTable)
local client = itemTable.player
Derma_StringRequest("Définir durabilité", "Enter new maximum durability value", itemTable:GetMaxDurability(), function(text)
local amount = tonumber(text)
if (amount and amount > 0) then
netstream.Start("ixSetToolMaxDurability", itemTable:GetID(), math.floor(amount))
else
client:Notify("Invalid number")
end
end)
end,
OnRun = function(itemTable)
return false
end,
OnCanRun = function(itemTable)
if (IsValid(itemTable.entity)) then
return false
end
if (!CAMI.PlayerHasAccess(itemTable.player, "Helix - Basic Admin Commands")) then
return false
end
return true
end
}
ITEM.functions.SetDurability = {
name = "Définir durabilité",
icon = "icon16/wrench.png",
OnClick = function(itemTable)
local client = itemTable.player
Derma_StringRequest("Définir durabilité", "Enter new durability value", itemTable:GetDurability(), function(text)
local amount = tonumber(text)
if (amount and amount > 0 and amount <= itemTable:GetMaxDurability()) then
netstream.Start("ixSetToolDurability", itemTable:GetID(), math.floor(amount))
else
client:Notify("Invalid number")
end
end)
end,
OnRun = function(itemTable)
return false
end,
OnCanRun = function(itemTable)
if (IsValid(itemTable.entity)) then
return false
end
if (!CAMI.PlayerHasAccess(itemTable.player, "Helix - Basic Admin Commands")) then
return false
end
return true
end
}
function ITEM:GetDescription()
local maxDurability = self:GetMaxDurability()
local durability = self:GetDurability()
return self.description .. "\n\nDurabilité : " .. durability .. "/" .. maxDurability
end
function ITEM:OnInstanced(index, x, y, item)
self:SetData("durability", self:GetMaxDurability())
end
function ITEM:DamageDurability(amount)
self:SetData("durability", math.max(0, self:GetDurability() - 1))
if (self:GetDurability() == 0) then
local name = self.name
if IsValid(self:GetOwner()) then
ix.log.Add(self, "itemBreakageDurability", name, self:GetOwner())
end
self:OnBreak()
end
end
function ITEM:GetBreakSound()
return "weapons/crowbar/crowbar_impact"..math.random(1, 2)..".wav"
end
function ITEM:OnBreak()
local breakSound = self:GetBreakSound()
if (IsValid(self.player)) then
self.player:EmitSound(breakSound, 65)
elseif (IsValid(self.entity)) then
self.entity:EmitSound(breakSound, 65)
end
self:Remove()
end
function ITEM:GetDurability()
return self:GetData("durability", self:GetMaxDurability())
end
function ITEM:GetMaxDurability()
return self:GetData("maxDurability", self.maxDurability)
end

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Uniforme Industriel M1"
ITEM.model = Model("models/props_c17/BriefCase001a.mdl")
ITEM.description = "La combinaison industrielle lourde Mark I est dérivée des anciennes conceptions soviétiques pour le travail en usine. Elle devrait s'avérer utile pour se protéger des fumées nauséabondes."
ITEM.category = "Vêtements - Industriel"
ITEM.replacement = "models/industrial_uniforms/industrial_uniform.mdl"
ITEM.isGasmask = true
ITEM.isPPE = true

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Uniforme industriel MII"
ITEM.model = Model("models/props_c17/BriefCase001a.mdl")
ITEM.description = "Si la tenue reste la même, la Mark II est globalement mieux adaptée grâce à ses couches de protection supplémentaires et à un masque beaucoup moins claustrophobe. Il offre une meilleure protection contre les spores et les poisons."
ITEM.category = "Vêtements - Industriel"
ITEM.replacement = "models/industrial_uniforms/industrial_uniform2.mdl"
ITEM.isGasmask = true
ITEM.isPPE = true

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Uniforme de travailleur"
ITEM.model = Model("models/props_c17/BriefCase001a.mdl")
ITEM.description = "Uniforme de travailleur délivré par l'Union."
ITEM.category = "Vêtements - Industriel"
ITEM.replacement = "models/hlvr/characters/worker/npc/worker_citizen.mdl"
ITEM.isGasmask = true
ITEM.isPPE = true

View File

@@ -0,0 +1,21 @@
--[[
| 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 = "Uniforme de travailleur - Orange"
ITEM.model = Model("models/props_c17/BriefCase001a.mdl")
ITEM.description = "Uniforme de travailleur délivré par l'Union."
ITEM.category = "Vêtements - Industriel"
ITEM.replacement = "models/hlvr/characters/worker/npc/worker_citizen.mdl"
ITEM.bodyGroups = {
["Uniform Variant"] = 1
}
ITEM.isGasmask = true
ITEM.isPPE = true

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Radio de l'UTC"
ITEM.model = Model("models/willardnetworks/skills/handheld_radio.mdl")
ITEM.description = "Une radio branchée sur le canal radio de l'Administrateur Civile."
ITEM.channel = "UTC"
ITEM.category = "Radios"
ITEM.KeepOnDeath = true
ITEM.colorAppendix = {["red"] = "Vous devez obtenir l'autorisation du groupe C.W.U. pour porter cet objet, ne le laissez pas tomber et ne le donnez pas aux autres joueurs."}

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "CMRU Management Radio"
ITEM.model = Model("models/willardnetworks/skills/handheld_radio.mdl")
ITEM.description = "A radio tuned in to the Civil Medical & Research Union Management frequency."
ITEM.channel = "cmru"
ITEM.category = "Combine"
ITEM.KeepOnDeath = true
ITEM.colorAppendix = {["red"] = "You need permission from the CMRU Management to carry this item, do not drop or hand it to other players."}

View File

@@ -0,0 +1,18 @@
--[[
| 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 = "Radio de Management de l'UTC"
ITEM.model = Model("models/willardnetworks/skills/handheld_radio.mdl")
ITEM.description = "Une radio portable spécialement conçue pour les Managers de l'UTC."
ITEM.channel = "utc-management"
ITEM.category = "Combine"
ITEM.KeepOnDeath = true
ITEM.colorAppendix = {["red"] = "Vous avez besoin d'une autorisation spéciale de l'UTC pour détenir cet objet. Toute utilisation sans autorisation sera sévèrement punie."}

View File

@@ -0,0 +1,17 @@
--[[
| 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 = "Radio du Pôle Propagande"
ITEM.model = Model("models/willardnetworks/skills/handheld_radio.mdl")
ITEM.description = "Une radio réglée sur la fréquence du pôle de la propagande."
ITEM.channel = "ppg"
ITEM.category = "Radios"
ITEM.KeepOnDeath = true
ITEM.colorAppendix = {["red"] = "Vous devez obtenir la permission pour porter cette radio. Ne la laissez pas tomber ou ne le donnez pas aux autres joueurs."}

View File

@@ -0,0 +1,24 @@
--[[
| 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 = "Dispositif de diffusion"
ITEM.model = Model("models/props_lab/reciever01b.mdl")
ITEM.description = "Un dispositif utilisé pour diffuser des messages à la Cité."
ITEM.KeepOnDeath = true
ITEM.category = "Combine"
ITEM.colorAppendix = {["red"] = "Vous devez obtenir l'autorisation du staff pour porter cet objet, ne le laissez pas tomber et ne le remettez pas aux autres joueurs."}
if (CLIENT) then
function ITEM:PaintOver(item, w, h)
surface.SetDrawColor(255, 0, 0, 100)
surface.DrawOutlinedRect(1, 1, w - 2, h - 2)
end
end

View File

@@ -0,0 +1,43 @@
--[[
| 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 = "UCMR Bio-lock"
ITEM.description = "Un dispositif métallique appliqué sur les portes, utilisé par les UCMR."
ITEM.model = Model("models/willardnetworks/props_combine/wn_combine_lock.mdl")
ITEM.category = "Combine"
ITEM.width = 1
ITEM.height = 2
ITEM.iconCam = {
pos = Vector(-0.5, 50, 2),
ang = Angle(0, 270, 0),
fov = 25.29
}
ITEM.functions.Place = {
name = "Placer",
OnRun = function(itemTable)
local client = itemTable.player
local data = {}
data.start = client:GetShootPos()
data.endpos = data.start + client:GetAimVector() * 96
data.filter = client
local lock = scripted_ents.Get("ix_combinelock_cmru"):SpawnFunction(client, util.TraceLine(data))
if (IsValid(lock)) then
client:EmitSound("physics/metal/weapon_impact_soft2.wav", 75, 80)
ix.combineNotify:AddNotification("NTC:// UCMR Restricteur déployé", nil, client)
else
return false
end
end
}

View File

@@ -0,0 +1,20 @@
--[[
| 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 d'accès Combine"
ITEM.model = Model("models/sky/combinecard2.mdl")
ITEM.description = "Une carte magnétique qui permet d'ouvrir des serrures du Cartel."
ITEM.category = "Combine"
ITEM.iconCam = {
pos = Vector(-509.64, -427.61, 310.24),
ang = Angle(25, 400, 0),
fov = 0.59
}

View File

@@ -0,0 +1,43 @@
--[[
| 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 = "Combine Bio-lock"
ITEM.description = "Un appareil métallique appliqué aux portes par les unités de la Protection Civile."
ITEM.model = Model("models/willardnetworks/props_combine/wn_combine_lock.mdl")
ITEM.category = "Combine"
ITEM.width = 1
ITEM.height = 2
ITEM.iconCam = {
pos = Vector(-0.5, 50, 2),
ang = Angle(0, 270, 0),
fov = 25.29
}
ITEM.functions.Place = {
name = "Placer",
OnRun = function(itemTable)
local client = itemTable.player
local data = {}
data.start = client:GetShootPos()
data.endpos = data.start + client:GetAimVector() * 96
data.filter = client
local lock = scripted_ents.Get("ix_combinelock"):SpawnFunction(client, util.TraceLine(data))
if (IsValid(lock)) then
client:EmitSound("physics/metal/weapon_impact_soft2.wav", 75, 80)
ix.combineNotify:AddNotification("NTC:// CMB : Restricteur déployé", nil, client)
else
return false
end
end
}

View File

@@ -0,0 +1,43 @@
--[[
| 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 = "UTC Bio-lock"
ITEM.description = "Un appareil métallique appliqué sur les portes, utilisé par l'UTC."
ITEM.model = Model("models/willardnetworks/props_combine/wn_combine_lock.mdl")
ITEM.category = "Combine"
ITEM.width = 1
ITEM.height = 2
ITEM.iconCam = {
pos = Vector(-0.5, 50, 2),
ang = Angle(0, 270, 0),
fov = 25.29
}
ITEM.functions.Place = {
name = "Placer",
OnRun = function(itemTable)
local client = itemTable.player
local data = {}
data.start = client:GetShootPos()
data.endpos = data.start + client:GetAimVector() * 96
data.filter = client
local lock = scripted_ents.Get("ix_combinelock_cwu"):SpawnFunction(client, util.TraceLine(data))
if (IsValid(lock)) then
client:EmitSound("physics/metal/weapon_impact_soft2.wav", 75, 80)
ix.combineNotify:AddNotification("NTC:// A-C : Restricteur déployé", nil, client)
else
return false
end
end
}

View File

@@ -0,0 +1,21 @@
--[[
| 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 = "Bio-lock brisée"
ITEM.description = "Une serrure mais qui semble cassée. Quel dommage."
ITEM.category = "Déchets"
ITEM.model = Model("models/willardnetworks/props_combine/wn_combine_lock.mdl")
ITEM.width = 1
ITEM.height = 2
ITEM.iconCam = {
pos = Vector(-0.5, 50, 2),
ang = Angle(0, 270, 0),
fov = 25.29
}

View File

@@ -0,0 +1,24 @@
--[[
| 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 = "Microphone sans fil"
ITEM.model = Model("models/props_junk/cardboard_box004a.mdl")
ITEM.description = "Un microphone qui est connecté sans fil aux systèmes de diffusion à proximité."
ITEM.KeepOnDeath = true
ITEM.category = "Combine"
ITEM.colorAppendix = {["red"] = "Vous devez obtenir l'autorisation du staff pour porter cet objet, ne le laissez pas tomber et ne le remettez pas aux autres joueurs."}
if (CLIENT) then
function ITEM:PaintOver(item, w, h)
surface.SetDrawColor(255, 0, 0, 100)
surface.DrawOutlinedRect(1, 1, w - 2, h - 2)
end
end

View File

@@ -0,0 +1,78 @@
--[[
| 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 = "Collier de serrage"
ITEM.description = "Un collier de serrage orange utilisé pour restreindre les gens."
ITEM.price = 80
ITEM.model = "models/items/crossbowrounds.mdl"
ITEM.category = "Combine"
ITEM.maxStackSize = 10
ITEM.factions = {FACTION_CP, FACTION_OTA, FACTION_RESISTANCE}
ITEM.functions.Use = {
name = "Utiliser",
OnRun = function(itemTable)
local client = itemTable.player
local data = {}
data.start = client:GetShootPos()
data.endpos = data.start + client:GetAimVector() * 96
data.filter = client
local target = util.TraceLine(data).Entity
local ragdoll = nil
if (target:IsRagdoll() and target.ixPlayer) then
ragdoll = target
target = target.ixPlayer
end
if (IsValid(target) and target:IsPlayer() and target:GetCharacter() and !target:GetNetVar("tying") and !target:IsRestricted()) then
itemTable.bBeingUsed = true
client:SetAction("@tying", 5)
client:DoStaredAction(ragdoll or target, function()
itemTable.bBeingUsed = false
if (!(ix.fights and target:GetFight())) then
target:SetRestricted(true)
target:SetNetVar("tying")
target:NotifyLocalized("fTiedUp")
client:NotifyLocalized("La cible a été attachée avec succès.")
target:SetWalkSpeed(target:GetWalkSpeed()/3)
itemTable:Remove()
else
target:SetAction()
target:SetNetVar("tying")
end
end, 5, function()
client:SetAction()
target:SetAction()
target:SetNetVar("tying")
itemTable.bBeingUsed = false
end)
target:SetNetVar("tying", true)
target:SetAction("@fBeingTied", 5)
else
itemTable.player:NotifyLocalized("plyNotValid")
end
return false
end,
OnCanRun = function(itemTable)
return !IsValid(itemTable.entity) or itemTable.bBeingUsed
end
}
function ITEM:CanTransfer(inventory, newInventory)
return !self.bBeingUsed
end

View File

@@ -0,0 +1,24 @@
--[[
| 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 = "RPG-7"
ITEM.description = "A un-guided rocket launcher capable of blowing up vehicles... as one might guess. Just try to aim better without a laser guide to help your bad aim."
ITEM.model = "models/vj_weapons/w_ins_rpg7.mdl"
ITEM.class = "weapon_rpg"
ITEM.weaponCategory = "primary"
ITEM.exRender = true
ITEM.width = 5
ITEM.height = 2
ITEM.iconCam = {
pos = Vector(5.22, -0.11, 199.93),
ang = Angle(88.2, -183.11, 0),
fov = 2.29
}

View File

@@ -0,0 +1,25 @@
--[[
| 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 = "CV-2000 Matraque électrique"
ITEM.description = "Une matraque revêtue d'une couleur gris foncé, avec plusieurs bobines exposées au sommet"
ITEM.model = "models/weapons/w_stunbaton.mdl"
ITEM.class = "ix_stunstick"
ITEM.category = "Armes"
ITEM.weaponCategory = "melee"
ITEM.exRender = true
ITEM.width = 1
ITEM.height = 3
ITEM.iconCam = {
pos = Vector(5.22, -0.11, 199.93),
ang = Angle(88.2, -183.11, 0),
fov = 2.29
}