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

1 string classname
Listenin benzersiz sınıf adı.
2 string name
Oyuncuya gösterilen kategorinin adı, örn. Comic Props.
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ı)
4 string icon
Ağaçta kullanılacak ikon.
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