This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
features:sinfar_supporter_housing:npc_appearance [2019/07/20 14:31] spankitty |
features:sinfar_supporter_housing:npc_appearance [2019/07/20 14:51] spankitty |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== NPC Appearance ====== | ====== NPC Appearance ====== | ||
- | === Resources : === | + | ==== Resources : ==== |
{{:features:sinfar_supporter_housing:npc_playerhouse_resources.jpg}} | {{:features:sinfar_supporter_housing:npc_playerhouse_resources.jpg}} | ||
- | \\ | ||
- | \\ | ||
- | To spawn an NPC in your house you'll need : | + | |
- | \\ | + | === To spawn an NPC in your house you'll need : === |
+ | |||
1: A NPC. | 1: A NPC. | ||
- | \\ | + | |
{{:features:sinfar_supporter_housing:npc_playerhouse_npc.jpg}} | {{:features:sinfar_supporter_housing:npc_playerhouse_npc.jpg}} | ||
- | \\ | + | |
2: An armor/cloth in the chest slot of that NPC. | 2: An armor/cloth in the chest slot of that NPC. | ||
- | \\ | + | |
- | 3: The On_Spawn script : p_cf2_npc_spawn in the NPC On_Spawn slot or make your own and use the following code. | + | |
- | \\ | + | {{:features:sinfar_supporter_housing:npc_playerhouse_cloths1.jpg}} |
- | 4: The Variables. | + | |
+ | |||
+ | 3: The On_Spawn script : p_cf2_npc_spawn in the NPC On_Spawn slot or make your own and use the following code in your own script. | ||
+ | |||
+ | {{:features:sinfar_supporter_housing:npc_playerhouse_npc_script.jpg}} | ||
+ | |||
+ | <code> | ||
+ | #include "inc_appr" | ||
+ | |||
+ | void main() | ||
+ | { | ||
+ | string sBodyAppearance = GetLocalString(OBJECT_SELF, "P_BODY_APPEARANCE"); | ||
+ | string sArmorAppearance = GetLocalString(OBJECT_SELF, "P_ARMOR_APPEARANCE"); | ||
+ | string sHeadAppearance = GetLocalString(OBJECT_SELF,"P_HEAD_APPEARANCE"); | ||
+ | object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, OBJECT_SELF); | ||
+ | int iOrginalAC = GetItemAC(oArmor); | ||
+ | |||
+ | if (sBodyAppearance != "") | ||
+ | { | ||
+ | SetEntireCreatureAppearance(OBJECT_SELF, sBodyAppearance); | ||
+ | } | ||
+ | if(sArmorAppearance!=""&&GetIsObjectValid(oArmor)) | ||
+ | { | ||
+ | RestoreItemAppearance(oArmor, sArmorAppearance); | ||
+ | object oNewArmor = UpdateItemAppr(oArmor); | ||
+ | if(GetItemAC(oNewArmor)!=iOrginalAC) | ||
+ | { | ||
+ | SetItemAC(oNewArmor, iOrginalAC); | ||
+ | } | ||
+ | } | ||
+ | if(sHeadAppearance!="") | ||
+ | { | ||
+ | SetHeadItemOverrideString(OBJECT_SELF,sHeadAppearance); | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | |||
+ | 4: The Variables on the NPC. | ||
+ | |||
+ | |||
+ | {{:features:sinfar_supporter_housing:npc_playerhouse_spawn_variables.jpg}} | ||
+ | |||
+ | |||
+ | Notes : | ||
+ | |||
+ | The Body appearance is somewhat optional as that would only show if the NPC gets undressed. | ||
+ | The Head appearance is optional in case you use a V2 head (a head you cannot set with the toolset). | ||
+ | The Generic_Master on the picture makes the NPC wander about and has nothing to do with the appearance. | ||