Dalam permainan Skyrim, Slot Mask dan Biped Object adalah dua konsep penting dalam sistem armor dan perlengkapan. Pada artikel ini, kita akan membahas lebih lanjut tentang slot mask dan bagaimana cara menggunakan keduanya.
Slot Mask
Slot Mask adalah kode biner yang digunakan untuk menentukan slot armor yang dipegang oleh suatu item. Misalnya, jika sebuah item memiliki slot armor pada tubuh, lengan, dan lengank, maka nilai slot mask-nya adalah penjumlahan dari nilai slot-mask masing-masing bagian.
Contoh: Jika sebuah item mengambil alih slot armor untuk tubuh (kSlotMask32), lengan (kSlotMask33), dan lengank (kSlotMask34), maka nilai slot mask-nya adalah penjumlahan nilai masing-masing bagian (0x00000004 + 0x00000008 + 0x00000010 = 4 + 8 + 16) untuk mendapatkan nilai slot mask yang sebenarnya (28).
Biped Object
Biped Object adalah objek bipedal yang terdiri atas bagian-bagian tubuh, seperti kepala, tubuh, lengan, dan lengank. Nama-nama objek bipedal dapat ditemukan dalam tab 'Body Data' jendela Race atau ketika menentukan sebuah item ke slot equip.
Contoh Pemrograman
Berikut adalah contoh pemrograman yang menunjukkan cara iterasi melalui semua armor yang sedang dipakai oleh suatu aktor dan mencari nama dari item-item yang dienkant:
String[] GetWornEnchantedFormNames(Actor target)
String[] wornEnchantedForms = new String[30]
int index
int slotsChecked
slotsChecked += 0x00100000
slotsChecked += 0x00200000 ;ignore reserved slots
slotsChecked += 0x80000000
int thisSlot = 0x01
while (thisSlot < 0x80000000)
if (Math.LogicalAnd(slotsChecked, thisSlot) != thisSlot) ;only check slots we haven't found anything equipped on already
Armor thisArmor = target.GetWornForm(thisSlot) as Armor
if (thisArmor)
if (thisArmor.GetEnchantment()) ;check for basic enchantments
wornEnchantedForms[index] = thisArmor.getName()
index += 1
elseif (WornObject.GetEnchantment(target, 0, thisSlot)) ;check for player-added enchantments
wornEnchantedForms[index] = WornObject.GetDisplayName(target, 0, thisSlot)
if (!wornEnchantedForms[index]) ;if it wasn't given a custom name, take the item's original name:
wornEnchantedForms[index] = thisArmor.getName()
endif
index += 1
endif
slotsChecked += thisArmor.GetSlotMask() ;add all slots this item covers to our slotsChecked variable
else ;no armor was found on this slot
slotsChecked += thisSlot
endif
endif
thisSlot *= 2 ;double the number to move on to the next slot
endWhile
return wornEnchantedForms
EndFunction
Lihat Juga
- Suggested Slot Mask Usage
- Skyrim Bodyparts