spawnmenu.AddPropCategory
spawnmenu.AddPropCategory( string classname, string name, table contents, string icon, number id = 1000, number parentID = 0, string needsApp = "" )
Açıklama
Eklenti doğurma listelerini (spawnlist) doğurma menüsü (spawnmenu) ağacına eklemek için kullanılır. Bu fonksiyon SANDBOX:PopulatePropMenu içinde çağrılmalıdır.
Eklenti doğurma listeleri, düzenlenmeleri durumunda diske kaydedilmez.
Oyuncuların özelleştirdiği doğurma listelerini asla değiştirmeye çalışmamalısınız!
Argümanlar
3 table contents
Doğurma menüsü için girişlerden oluşan bir tablo. Sayısal olarak dizinlenmelidir.
Tablonun her üyesi, bir `type` üyesi ve türe bağlı olarak diğer üyeleri içeren bir alt tablodur.
Yeni içerik türleri spawnmenu.AddContentType aracılığıyla eklenebilir.
| string tür | Açıklama | Diğer üyeler |
|---|---|---|
| "header" | organizasyon için basit bir başlık | string text - Başlığın göstereceği metin |
| "model" | oyuncunun baktığı yere bir model doğurur | string model - Model dosyasının yolu number skin - Modelin kullanacağı skin (isteğe bağlı) string body - Model için bodygroup'lar (isteğe bağlı) number wide - Doğurma ikonunun genişliği (isteğe bağlı) number tall - Doğurma ikonunun yüksekliği (isteğe bağlı) |
| "entity" | oyuncunun baktığı yere bir varlık (entity) doğurur (varsayılan olarak Varlıklar sekmesinde görünür) |
string spawnname - Varlığın dosya adı, örneğin "sent_ball" string nicename - Görüntülenecek varlığın adı string material - Görüntülenecek ikon, bu entities/[sent_name].png olarak ayarlanmalıdır boolean admin - Varlığın sadece adminler tarafından doğurulup doğurulamayacağı (isteğe bağlı) |
| "vehicle" | oyuncunun baktığı yere bir araç doğurur (varsayılan olarak Araçlar sekmesinde görünür) |
string spawnname - Aracın dosya adı string nicename - Görüntülenecek aracın adı string material - Görüntülenecek ikon boolean admin - Aracın sadece adminler tarafından doğurulup doğurulamayacağı (isteğe bağlı) |
| "npc" | oyuncunun baktığı yere bir NPC doğurur (varsayılan olarak NPC'ler sekmesinde görünür) |
string spawnname - NPC'nin doğma adı (spawn name) string nicename - Görüntülenecek ad string material - Görüntülenecek ikon table weapon - NPC'ye verilecek potansiyel silahlardan oluşan bir tablo (her biri bir string). Doğurulduğunda, her seferinde bunlardan biri rastgele seçilecektir. boolean admin - NPC'nin sadece adminler tarafından doğurulup doğurulamayacağı (isteğe bağlı) |
| "weapon" | Tıklandığında oyuncuya bir silah verir; Orta tuşla tıklandığında, oyuncunun baktığı yere bir silah doğurur (varsayılan olarak Silahlar sekmesinde görünür) |
string spawnname - Silahın doğma adı (spawn name) string nicename - Görüntülenecek ad string material - Görüntülenecek ikon boolean admin - Silahın sadece adminler tarafından doğurulup doğurulamayacağı (isteğe bağlı) |
5 number id = 1000
Doğurma listesi (spawnlist) kategorisi için benzersiz ID numarası. Alt kategoriler oluşturmak için kullanılır. Aşağıdaki "parentID" parametresine bakın. Ayarlanmazsa, 1000'den başlayarak sürekli artan bir sayıya otomatik olarak ayarlanır.
6 number parentID = 0
Ebeveyn kategorinin benzersiz ID'si. Bu, oluşturulan kategoriyi, verilen benzersiz ID'ye sahip kategorinin bir alt kategorisi yapar.
0, bunu temel bir kategori yapar (Builder gibi).7 string needsApp = ""
Bu prop kategorisi için gereken oyun, eğer bir tane gerekiyorsa. Belirtilen oyun bağlanmamışsa (mounted), kategori gösterilmez. Bu, Steam AppID'sini değil, kısayol adını kullanır, örn.
cstrike.Örnek
Her tür için iki ikona sahip bir doğurma menüsü oluşturun
hook.Add("PopulatePropMenu", "Add Two Of Each", function()
local contents = {}
-- Proplar
table.insert( contents, {
type = "header",
text = "Props"
} )
table.insert( contents, {
type = "model",
model = "models/props_c17/oildrum001.mdl"
} )
table.insert( contents, {
type = "model",
model = "models/props_wasteland/cargo_container01.mdl",
skin = 1,
wide = 128,
tall = 64
} )
-- Varlıklar
table.insert( contents, {
type = "header",
text = "Entities"
} )
table.insert( contents, {
type = "entity",
spawnname = "sent_ball",
nicename = "Bouncy Ball",
material = "entities/sent_ball.png"
} )
table.insert( contents, {
type = "entity",
spawnname = "combine_mine",
nicename = "Hopper Mine",
material = "entities/combine_mine.png"
} )
-- Araçlar
table.insert( contents, {
type = "header",
text = "Vehicles"
} )
table.insert( contents, {
type = "vehicle",
spawnname = "Airboat",
nicename = "Half-Life 2 Airboat",
material = "entities/Airboat.png"
} )
table.insert( contents, {
type = "vehicle",
spawnname = "Chair_Office2",
nicename = "Executive's Chair",
material = "entities/Chair_Office2.png"
} )
-- NPC'ler
table.insert( contents, {
type = "header",
text = "NPCs"
} )
table.insert( contents, {
type = "npc",
spawnname = "npc_citizen",
nicename = "A random citizen",
material = "entities/npc_citizen.png",
weapon = { "weapon_smg1", "weapon_crowbar" }
} )
table.insert( contents, {
type = "npc",
spawnname = "npc_headcrab",
nicename = "Headhumper",
material = "entities/npc_headcrab.png"
} )
-- Silahlar
table.insert( contents, {
type = "header",
text = "Weapons"
} )
table.insert( contents, {
type = "weapon",
spawnname = "weapon_crowbar",
nicename = "Crowbar",
material = "entities/weapon_crowbar.png",
} )
table.insert( contents, {
type = "weapon",
spawnname = "weapon_smg1",
nicename = "SMG",
material = "entities/weapon_smg1.png",
} )
spawnmenu.AddPropCategory( "TwoOfEach", "Two of each type", contents, "icon16/box.png" )
end )
Çıktı: 

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord