
Player Model NPCs
Placeable NPCs that can use any PlayerModelLib model, plus in-game activity and dialogue editor

Description
<p>This mod adds NPCs that look like players. An NPC can use any character model added by <a href="https://mods.vintagestory.at/playermodellib"><strong>PlayerModelLib</strong></a>, wear real clothes and armor, hold items, do activities, and talk to you.</p> <p>Everything can be set up in-game. The game already has a built-in dialogue system, trading functionality, and an activity editor, which I have conveniently hooked into here.</p> <p><strong>The mod has been made with performance in mind. Every NPC should have somewhere between the cost of a player and a trader. </strong></p> <h2>Features</h2> <h3>Placing an NPC</h3> <ul> <li>Take the <strong>NPC Placer</strong> from the creative inventory and right-click a block to place an NPC there</li> <li>The edit window opens right away</li> <li>Only works in creative mode or with the <code>controlserver</code> privilege</li> <li>To edit an NPC later, look at it (while in Creative mode) and hold <strong>Sprint + RMB</strong>, or use <code>.npcedit </code></li> </ul> <p><code><img src="https://i.imgur.com/xG5yEGJ.png" alt="image"></code></p> <h3>The NPC editor</h3> <p>Four tabs:</p> <ul> <li><strong>Model</strong> - pick any model that PlayerModelLib has loaded and is available to you, with a size slider</li> </ul> <p> </p> <p><img src="https://i.imgur.com/EIqVd6t.png" alt="image" width="979" height="726"></p> <p> </p> <ul> <li><strong>Appearance</strong> - the same skin, hair, eye, and color options you get when making your own character, mostly complete in terms of components</li> </ul> <p> </p> <p><img src="https://i.imgur.com/OCfIdym.png" alt="image" width="979" height="721"></p> <p> </p> <ul> <li><strong>Worn items & armor</strong> - put clothes, armor, and held items straight onto the NPC, laid out like the character (C) window</li> </ul> <p> </p> <p><img src="https://i.imgur.com/MXKSwDZ.png" alt="image" width="979" height="663"></p> <ul> <li><strong>NPC</strong> - various options like name, dialogue, activities, trade list, max health, invulnerable, immovable, default emote (only with Emotes mod), default facing, show on map</li> </ul> <p> </p> <p><img src="https://i.imgur.com/KiyFKJx.png" alt="image" width="974" height="732"></p> <ul> <li>NPCs use the voice selected in the Appearance editor</li> <li>The name can stay hidden. Players see the name <em>Stranger</em> (configurable) until the talk reaches a step with a revealname trigger that reveals the name</li> <li>The waypoint on the map can also stay hidden. Until the revealname trigger is used, no marker will be shown on the map.</li> </ul> <p> </p> <h3>Talking</h3> <ul> <li>Right-click an NPC that has a dialogue to talk to it. The NPC says a line, you pick a reply, the talk moves on, etc</li> <li>The format is based on the vanilla JSON dialogue format</li> <li>NPCs without a dialogue do not open a window</li> </ul> <p> </p> <p><img src="https://i.imgur.com/09ZFjM6.png" alt="image" width="981" height="774"></p> <h3>Dialogue editor (.dialogeditor)</h3> <p>A dialogue editor using the same JSON format the game uses for its dialogues. </p> <ul> <li>A dialogue is a list of steps. The first one in the list is where the talk starts</li> <li>Steps can be text spoken by the NPC, or reply options by the player, or do something silently</li> <li>Every step, and every single reply, can jump anywhere else in the list</li> <li>Steps can remember variables (per player, per NPC, per group, or globally). Later steps can use these variables.</li> <li>Lines can have conditions, so the same NPC could greet a stranger and a friend differently</li> <li>Text can be plain writing or a lang key, and <code>{playername}</code> and <code>{npcname}</code> are filled in</li> <li>A step can optionally play a sound</li> </ul> <p> </p> <p>Triggers a step can fire:</p> <ul> <li>close the talk dialogue</li> <li>play an animation on the NPC</li> <li>give the player an item or block</li> <li>take an item from the player</li> <li>spawn a creature near the NPC</li> <li>repair the tool or the armor the player is holding</li> <li>have the NPC attack the player</li> <li>reveal the NPC's real name</li> <li>unlock a story door</li> <li>play an emote: playemote, with an optional timer after which the emote will end</li> <li>start or stop following the player</li> <li>open the trading dialogue (only if you set up the trading list)</li> <li>open the hair styling menu (the one that Nadiya barbers use)</li> </ul> <p> </p> <p>Most fields have hover text explaining what they do. </p> <p>Your dialogues are saved on the server in <code>ModData\playermodelnpcs\dialogue</code> , in the game's dialogue format. Dialogues that come with a mod can be opened and read but not overwritten.</p> <p> </p> <p><img src="https://i.imgur.com/tfSHHF7.png" alt="image" width="988" height="578"></p> <p><img src="https://i.imgur.com/AW5CZgg.png" alt="image" width="987" height="740"></p> <h3>Trade list editor</h3> <ul> <li>Accessed using the NPC tab</li> <li>Basically the same as vanilla trade functionality </li> <li>Can be opened using the opentrade trigger (check the playermodelnpcs:example-trading for a guide on how) </li> <li>Custom trade lists will be stored in ModData/playermodelnpcs/dialogue/</li> <li>Allows you to set a custom currency to be used for the shop <ul> <li>Note that these currencies will be saved to the trade lists, so 2 NPCs using the same list will get the same currency used</li> </ul> </li> <li>There is also a handy "No restocking" toggle to make the shop stock finite</li> <li>The trade item editor has a convenient slot where you can drop items in and their attributes will correctly be mapped over <ul> <li>You can also choose variants for items that define their variants using creativestacks</li> </ul> </li> </ul> <h3><img src="https://i.imgur.com/ssv8v3b.png" alt="image" width="985" height="840"></h3> <h3>Activities (.dev aedit)</h3> <ul> <li>
Ratings & reviews
Sign in to leave a rating or comment.

