diff --git a/Chris.MultiNPC.lsl b/Chris.MultiNPC.lsl index 55ff31c..cc9eeeb 100644 --- a/Chris.MultiNPC.lsl +++ b/Chris.MultiNPC.lsl @@ -143,6 +143,19 @@ integer script_goto(integer slot, key npc, list command) return TRUE; } +integer script_appearance(integer slot, key npc, list command) +{ + if(llGetInventoryType(llList2String(command, 1) + ".appearance") != INVENTORY_NOTECARD) + { + llSay(0, "Cant find appearance '" + llList2String(command, 1) + "'."); + return FALSE; + } + + osNpcLoadAppearance(npc, llList2String(command, 1) + ".appearance"); + return TRUE; +} + + //Internal functions doNextScriptStep() { @@ -232,6 +245,10 @@ doNextScriptStep() if(script_goto(currentNPCSlot, currentNPCKey, lineCommandData)) currentNPCSlot--; break; + case "appearance": + if(script_appearance(currentNPCSlot, currentNPCKey, lineCommandData)) + currentNPCSlot--; + break; default: llSay(0, "Unknown command '" + llList2String(lineCommandData, 0) + "' in nc '"+ currentncname +"' on line '" + currentLine + "' failed."); }