User:Scrivener07/Wiki

From Creation Kit
Jump to: navigation, search

This is my personal notepad to keep track of wiki information and TODOs for the website. See also Helping the Wiki.

Armor Slots and GetWorn

There is a precedence to armor slots. The slots are ordered from head-to-toe. An armor form only properly exists on the highest slot it covers. Armors will superfically flag the cover slots it covers as occupied. For example a helmet with goggles that covers the HEAD+EYE slots will have to be accessed via the HEAD slot. On the other hand, a gas mask that covers the EYE+MOUTH slots will need to be accessed via the EYE slot. If for some reason there is a mask that covers the HEAD+EYES+MOUTH then it will need to be accessed via the HEAD slot because its the highest one.

Scriptname WornExample extends Quest
 
Actor Player
int BipedEyes = 17 const
bool ThirdPerson = false const
 
Event OnQuestInit()
	Player = Game.GetPlayer()
	Actor:WornItem worn = GetWorn()
	Debug.TraceSelf(self, "OnQuestInit", "Worn:"+worn)
EndEvent
 
Actor:WornItem Function GetWorn()
	{Scans down the highest slot of an eye slot armor.}
	int slot = 0
	While (slot <= BipedEyes)
		Actor:WornItem worn = Player.GetWornItem(slot, ThirdPerson)
		If (ItemFilter(worn.Item))
			return worn
		EndIf
		slot += 1
	EndWhile
	Debug.TraceSelf(self, "GetWorn", "No biped slot has a valid eyes armor.")
	return none
EndFunction
 
bool Function ItemFilter(Form item)
	Armor armo = item as Armor
	return armo && HasSlotMask(armo, kSlotMask47)
EndFunction
 
bool Function HasSlotMask(Armor armo, int value) Global
	return Math.LogicalAnd(armo.GetSlotMask(), value) == value
EndFunction

Main Page

Help

Here's some links to help while you edit the wiki - keep it open in a separate tab or window for quick reference. Feel free to add any categories or articles you want to keep on hand.

Tutorials

Category:Scripting Guides

Cheat Sheets

Glossary

  • Maybe add a section to category pages that list out the "also referred as X". Use the "What Links Here" for redirects. For example, Creation Kit Toolset.

Game Systems

Editor Reference

Editor Interface

Windows

Tooling Reference

Creation Kit Toolset

Game File Reference

  • Add page anchors to file extensions in the Game File Reference. Add redirects to the anchors for extension in all caps. (TXT, FLA, PEX)
  • Mention the Archive File naming scheme when paired with a Data File. For example, MyArchive - Main.ba2 and MyArchive - Textures.ba2
  • Add Text File, tab-delimited format for some Creation Kit report exporting.
  • Creation INI reference. Maybe add as a section to Creation Kit and a new page called Fallout 4.

Data File

Object Class Reference

Icons

I had the idea to add the editor icons to object pages alongside the object's type code.

Console Command Reference

Condition Function Reference

Scripting

  • Expand papyrus pages to include both minimalistic and complete source code examples.
  • Add better pages on structs & more actual examples of when structs are most useful.
  • Finish F4SE script documentation up to the current version.
  • Document the papyrus assembly. The Script File may be the only mention of papyrus assembly. The user cadpnq has started to document some of the assembly instructions here https://github.com/cadpnq/papyrith/wiki/Instruction-Reference

Papyrus Concepts

Other Resources

External Text Editors

Reference Pages

Papyrus Language Reference

Papyrus Script Objects

F4SE

  • Remove F4SE pages from the Papyrus category.
  • Add templates for F4SE features. (auto add to category, icon, required version, etc..)
  • F4SE:DummyTestPage Maybe prefix like this?

This is something I have delayed doing for some time now. With the wiki tools I have access to, this would be a very tedious and time consuming task. I have continued to add new f4se pages to the Papyrus category for consistency. I would rather reorganize/move the f4se pages all at once than a mix. See F4SE talk page.

Using Subpages might be an option if that is enabled in the wiki software. Subpages are enabled for user & talk pages by default, but not the main namespace.


Pages
Scrivener07/Wiki/Draft