Jump to content

khzmusik

Members
  • Posts

    1,250
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by khzmusik

  1. I've been digging into this more, and I'm pretty sure the issue is with the C# code. It's too technical to go into here, so I sent a PM to SphereII with my findings.

     

    Just so everyone knows: this is now fixed in the latest version of SphereIICore.

     

    If you want to add NPCs to sleeper volumes, add this to their entity classes:

     

    <property name="SleeperInstantAwake" value="true" />

     

    They will spawn in active and wandering around.

  2. @khzmusik:

    Huge fan of your first 3 modlets. Keep up the good work!

     

    No Bedrolls modlet -

    Personally would prefer it if the bedrolls remained craftable in game, but simply gave a buff(slowly heal max health+stamina over time) when on top of one. However, if you are going this route for the sake of Permadeath mode, does the modlet also remove craftable beds, which also serve as respawn points?

     

    Reset Skills on Death modlet -

    Shame that you cannot kick the player from server on death, then delete their 3 save files. Believe that is what the outdated Permadeath mod did, but it was a dll, not a modlet.

     

    Thanks!

     

    re: craftable beds - I don't think I've crafted a single bed in my 1.5K hours of gameplay, so I honestly didn't know they could serve as spawn points. You learn something new every day. :)

     

    I should be able to remove those too, in the same way I removed the bedrolls. EDIT: done.

     

    The bed/rolls remaining craftable (and pick-uppable and such), yet not serving as spawn points, would definitely require C# coding, which I'm trying to avoid for the moment. I have recently discovered dnSpy and Harmony though. Maybe if I have enough free time, but likely not.

     

    re: kicking the player from the server, deleting saves, etc. - That would require even more C# coding, and has the potential to cause a lot of problems, especially if we're talking about a MP server. I'm not sure I would even want to try that.

     

    In any case, I intentionally am not trying to mod in "permadeath." I don't want to lose the game world, I only want to start as a new character. Think of character death in State of Decay. (It was one of the few things I enjoyed about State of Decay.)

     

    I'm still trying to find the right term for that, if you know of one.

  3. I put together a few modlets for my own enjoyment. I'm releasing them to the public, and I hope you find them useful.

     

    They can be installed by putting their contents into the 7D2D Mods folder, or by installing them using the Mod Launcher. I recommend using the Mod Launcher:

    http://7d2dmodlauncher.org

     

    Thanks to SphereII for including them in the Mod Launcher!

     

    Detailed installation instructions are in the Gitlab repo:

    https://gitlab.com/karlgiesing/7d2d-modlets

     

    Additionally, each modlet now has its own individual README file. These files can be read on the Web by going to the modlet's directory in the GitLab repo. The README files have many details about installation and usage, including whether it is recommended to create a new game world, as well as technical details about the creation of the modlet.

     

    Instead of leaving detailed descriptions in this post, I will instead point you to the individual README files. This is because those files are updated with the modlet itself, so will contain up-to-date information.

     

    There are quite a few modlets, and most are very small. That is intentional. Each modlet is meant to be something like a feature flag or game setting. You should be able to easily pick and choose which one(s) you want to use, without any extra "features" you don't want.

     

    Their small size also means they should be easy to modify, or to learn from, so that you can use them for your own purposes. Please do, they are free as in "free beer" and as in "freedom." Credit is appreciated, but even that is not required - go nuts!

     

    Stand-alone modlets

     

    These modlets do not have any dependencies on other mods or modlets. They use XML and XPath, and do not require SDX/DMT or changes to any .dll files. They may be used with or without EAC enabled, and may be installed on any multiplayer server.

     

    No Bedrolls

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/khzmusik_No_Bedrolls

     

    Updated to version 2.0.0

     

    Removes the ability of beds and bedrolls to act as spawn points, or protect against zombie spawns. New in version 2.0.0: Beds and bedrolls are once again craftable (they are now merely ornamental).

     

    It is designed to be used with "dead is mostly dead" play styles. Upon death, the player is respawned in the same game world, with a "new" character (as opposed to "dead is dead" where the entire game world is lost or reset). It is inspired by player character deaths in State of Decay, though it's not possible to re-create that exactly in 7D2D.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/khzmusik_No_Bedrolls/README.md

     

    I also wrote a "manifesto" about the "dead is mostly dead" play style. Here's a link to that forum post:

     

    Reset Skills On Death

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/khzmusik_Reset_Skills_On_Death

     

    On death, this modlet will reset (not remove) skill points, and remove all books read. It is also designed to be used with "dead is mostly dead" play styles.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/khzmusik_Reset_Skills_On_Death/README.md

     

    UMA Zombies

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/khzmusik_UMA_Zombies

     

    These are zombie versions of the vanilla UMA archetypes. This modlet is almost certainly compatible with other modlets that add other zombies or NPCs.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/khzmusik_UMA_Zombies/README.md

     

    Modlets for SphereII DMT Mods

     

    These are modifications to SphereII modlets. These modlets require DMT. Installation instructions are in the above thread. (My modlets are XML/XPath only.)

     

    Forum topic for SphereII DMT Mods:

     

     

    Thanks to SphereII for making these incredibly useful modlets!

     

    Remove Enemy Health Bar

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/0-SphereIICore_Remove_Enemy_Health_Bar

     

    Switches off the enemy health bar that is introduced in the SphereII Core modlet.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/0-SphereIICore_Remove_Enemy_Health_Bar/README.md

     

    NPC Hire Text

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/SphereII NPC Dialog Windows_Hire_Text

     

    Sets the NPC hire text to "I would like you to join me." This makes more sense if you modify the NPCs to "hire" them using something other than Dukes, like canned food or medical supplies. (This modlet does not do that, it only changes the text.)

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/SphereII NPC Dialog Windows_Hire_Text/README.md

     

    NPC modlets

    These modlets affect the NPCs that are added by the CreaturePack modlets (which do not require DMT), or the DMT NPC modlets (which require DMT and add extra behavior), or both.

     

    Forum topic for CreaturePack NPCs:

     

     

    Forum topic for DMT NPCs:

     

     

    Huge thanks to Xyth for creating the modlets, and to all the people who created the NPCs themselves (including Xyth, Guppy, DarkStarDragon, and probably more by the time you read this).

     

    NPCPackHumans: Adjust Health and Stamina

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/1-NPCPackHumans_Adjust_Health_Stamina

     

    Adjusts the health and stamina of human NPCs to be closer to player values.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/1-NPCPackHumans_Adjust_Health_Stamina/README.md

     

    NPCPackHumans: Adjust Hire Costs

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/1-NPCPackHumans_Adjust_Hire_Costs

     

    Adjusts the hire costs of human NPCs.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/1-NPCPackHumans_Adjust_Hire_Costs/README.md

     

    CreaturePackHumans/NPCPackHumans: Remove Ghost

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/2-CreaturePackHumans_Remove_Ghost

     

    Removes the Ghost (Motoko Kusanagi) NPC character from all spawn groups.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/2-CreaturePackHumans_Remove_Ghost/README.md

     

    CreaturePackHumans/NPCPackHumans: Remove Harley

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/2-CreaturePackHumans_Remove_Harley

     

    Removes the Harley Quinn NPC character from all spawn groups.

     

    NOTE: This modlet is currently unnecessary, since she is was not ported from Xyth's old NPC modlet to the CreaturePack. I'm including it here in case it her character is added to a later version. 

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/2-CreaturePackHumans_Remove_Harley/README.md

     

    CreaturePackHumans/NPCPackHumans: Remove NPC Tracking

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/2-CreaturePackHumans_Remove_NPC_Tracking

     

    Removes tracking of human NPCs in the game map.

     

    NOTE: This modlet is currently unnecessary, since tracking is disabled by default. I'm including it here in case it is enabled in a later version. 

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/2-CreaturePackHumans_Remove_NPC_Tracking/README.md

     

    NPCPackHumans: Adjust Sounds

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/2-NPCPackHumans_AdjustSounds

     

    Adjusts the sounds and dialog made by human NPCs.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/2-NPCPackHumans_AdjustSounds/README.md

     

    CreaturePackHumans: Add to vanilla spawn groups

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/1-NPCPackHumans_Adjust_Health_Stamina

     

    Adds CreaturePack humans to vanilla spawn groups.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/1-CreaturePackHumans_Add_To_Vanilla_Spawns/README.md

     

    NPCPackHumans: Add to vanilla spawn groups

    https://gitlab.com/karlgiesing/7d2d-modlets/-/tree/master/1-NPCPackHumans_Adjust_Health_Stamina

     

    Adds NPCPack humans to vanilla spawn groups.

     

    Note: Compatible with the CreaturePack version, above.

     

    For details, please see the README:

    https://gitlab.com/karlgiesing/7d2d-modlets/-/blob/master/2-NPCPackHumans_Add_To_Vanilla_Spawns/README.md

     

     

    Deprecated Modlets for Xyth NPCs

     

    These are modifications to the original NPC modlets created by Xyth. He has now deprecated these modlets in favor of the CreaturePack and NPCPack modlets. I am including them here in case you still use Xyth's old modlets - but I recommend switching to CreaturePack or NPCPack modlets as soon as possible.

     

    Nearly all of them have equivalent modlets for CreaturePack or NPCPack, and I am working on updating the few that don't.

     

    Add Bandits To Zombie Spawns

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth Bandits_Add_To_Zombie_Spawns

     

    Add NPCs To Zombie Spawns

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Add_To_Zombie_Spawns

     

    Reduce NPC Hire Costs

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Reduce_Hire_Costs

     

    Reduce NPC Hit Points

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Reduce_HP

     

    Remove Ghost

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Remove_Ghost

     

    Remove Harley

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Remove_Harley

     

    Remove NPC Tracking

    https://gitlab.com/karlgiesing/7d2d-modlets/tree/master/Xyth NPCs_Remove_NPC_Tracking

     

  4. Unfortunately, I can't seem to get this to work. I'm going to give details here, but let me know if this should be done over PM instead.

     

    I am testing this by modifying a renamed "survivor" POI, using the Prefab Editor, then hitting "playtest" in the editor menu.

     

    The only time the NPCs spawn in moving around, is when the "xuiSleeperVolumeTrigger" value is set to "Attack" in the sleeper volume. But this leads to undesirable behavior - if there are no zombies around, the NPCs wake by attacking the player, and once awoken, often attack other NPCs.

     

    I've tried using both other "xuiSleeperVolumeTrigger" values ("Passive" and "Active") but it does not seem to make a difference.

     

    They do animate, but all they do is look around; I assume this is their idle animation. And that's only for NPCs like Hunter that have idle animations - for instance, it seems the Nurse and Farmer do not.

     

    Also - I was mistaken before; the NPCs don't wake up even after you interact with them (unless they're attacking you in "Attack" mode). They won't "wake up" and start moving around until they are attacked - even after being hired.

     

    For instance, if you hire one and tell it to follow you, it will just stand there until you're far enough away for it to "teleport" to your location - and it won't even "wake" after being teleported. I only got them to start wandering by spawning in a zombie Boe (using F6) next to one of them; after the NPC was attacked and fought back, it behaved as normal.

     

    I did notice that the Mod Launcher hasn't picked up the SphereII Core changes yet; in the UI it says it was last modified on December 9th. To make sure I have the latest updated version, I downloaded the .zip file directly from GitHub, then uncompressed the "0-SphereIICore" folder directly into the "Mods" folder. I double-checked that the changes from the commit, above, were in the "EntityAliveSDX.cs" file.

     

    I launched the game using the Mod Launcher at that point, and it all seemed to work as expected, there were no compilation errors or anything like that. Though maybe the Mod Launcher compiling from a different folder than "Mods" or something? Don't know.

     

    This is a sample of the XPath I used to put in the "isAlwaysAwake" flag:

     

    <!-- entityclasses.xml -->
    <configs>
       <append xpath="/entity_classes/entity_class[starts-with(@name, 'NPC')]">
           <!-- Also tried: <property name="SleeperInstantAwake" value="true" /> -->
           <property name="isAlwaysAwake" value="true" />
       </append>
    </configs>
    

     

    Here's a sample of how I modified the XML so sleeper volumes can spawn NPCs:

     

    <!-- gamestages.xml -->
    <configs>
       <insertAfter xpath="/gamestages/group[last()]">
           <group name="S_-Group_NPC_Generic" emptyChance="0" decoyChance="0" decoy1hpChance="0">
               <spawner name="NPCGenericHorde" count="5,6" />
           </group>
       </insertAfter>
       <insertAfter xpath="/gamestages/spawner[last()]">
           <spawner name="NPCGenericHorde">
               <gamestage stage="1">
                   <spawn group="NPCGenericGroup" num="1" maxAlive="1" duration="1" />
               </gamestage>
           </spawner>
       </insertAfter>
    </configs>
    
    <!-- entitygroups.xml -->
    <configs>
    <append xpath="/entitygroups">
    	<entitygroup name="NPCGenericGroup">
    		<entity name="NPCBaker" />
    		<entity name="NPCNurse" />
    		<entity name="NPCFarmer" />
    		<entity name="NPCHarleyQuinn" />
    		<entity name="NPCAmmo" />
    		<entity name="Hunter" />
    		<entity name="Pest" />
    		<entity name="Ghost" />
    	</entitygroup>
    </append>
    </configs>
    

     

    I double-check the XPath by doing a config dump while play testing the POI, and the changes were there and in the expected places.

     

    Can you see anything that I'm doing wrong?

  5. I made a change to the SphereII.Mods repo for EntityAliveSDX

     

    If you add the following line to the NPCs, it should give you the desired result for your NPC snoozing problem:

     

    <property name="isAlwaysAwake" value="true" />
    

     

    Wow, that's quick work, thank you! Is this change already pushed to your repo?

     

    EDIT: It is, and I hunted down the commit:

    https://github.com/SphereII/SphereII.Mods/commit/0050d7b5e959892466e5cbd31182682f9b421422

     

    But from the added code, it seems like the property name should be "SleeperInstantAwake" correct? ("isAlwaysAwake" is the name of the local variable.)

     

    Also - by "the NPCs" I assume you mean their entity classes, correct? The same XML that has the AI targets and such?

  6. The NPC spawner block continually spawns a trader in; they despawn because another trader is already standing there. This porevents trader prefabs from having 'empty' stations. You would probably need a custom spawner to get the effect you want.

     

    Thanks. That matches what I observed, but seems like a really weird way to do it, so I thought I must be doing something wrong.

     

    By "custom spawner" I assume you mean a modified version of the C# code, compiled with DMT? As far as I know there isn't any other spawner available in the XML - but I could be wrong.

     

    EDIT: There are "entityspawner" tags in spawning.xml, but I don't think they're connected to POI spawning, are they? The spawn groups in the UI map to a "group" in gamestages.xml, and each group's "spawner" name is an entity class in entityclasses.xml. That's how I was initially trying to add NPC spawners.

     

    Searching for "entityspawner" in the forums didn't turn up any recent posts, and the old posts all seemed to do with either biome or blood moon spawning, which don't work the same in modern alphas. Are those even used any more?

     

    Was there an issue with spawning the NPCs in as sleepers?

     

    The NPCs never wake up, unless you directly interact with them. (Or, possibly, until you get close enough to trigger their dialogue and the animation to put the weapon away - I can do more tests if you like.)

     

    My intent is to have them immediately be active (wandering around, fighting any nearby zombies) when they're spawned in.

  7. Update on adding these NPCs to POIs...

     

    Rather than add them to sleeper volumes, I tried creating a spawn block, modeled after the "spawnTrader" block:

    <block name="spawnNPCGeneric">
       <property name="Extends" value="spawnTrader" />
       <property name="CustomIcon" value="apparelSweatshirt" /> <!-- just to tell which is which-->
       <property name="SpawnClass" value="NPCBaker,NPCNurse,NPCFarmer,NPCAmmo,Hunter,Pest" />
    </block>
    

    (Note: I've also done it the "explicit" way, by copying-and-pasting the entire "spawnTrader" block, and only changing the "SpawnClass" value.)

     

    This spawn block can then be placed in the POI like any other block.

     

    This works, in the sense that the NPCs are awake and wandering when spawned in.

     

    But, it works a bit too well... because the NPCs keep spawning until some predetermined limit is reached. I have no idea what that limit is. Depending upon the NPC, it could be only one, or it could be anywhere from five to nine.

     

    Am I missing something really stupid? Some XML property that I need to include/modify, or perhaps some way to customize the "settings" of the block in the prefab editor?

  8. As long as they need a copy of the game to use them then it is fine. Providing modified versions of the POIs is no different than providing modified versions of other xml files.

     

    POIs do not have to be wholly original in order to create a prefab pack and distribute it. Good luck with your project!

     

    That's good news, thanks!

     

    (As an aside - this likely won't be ready for a while, for technical reasons which aren't relevant here. It's just good to know that if/when I can get them to work, I can distribute them.)

  9. Question about modified versions of original 7D2D assets.

     

    I am creating a modlet that adds Xyth's excellent NPCs to POI spawn groups. To see them in action, I am taking some of the original 7D2D prefabs, and altering them (slightly) to spawn NPCs instead of zombies. Other than the spawn groups, the POIs are not modified (or at least not much).

     

    Here is the question: Can I distribute this modlet through GitLab or similar?

     

    I would imagine the XML/Xpath is not an issue, but the prefab files might be.

  10. Xyth I'm running into an issue where the displayed dialogue options are limited, and if I order an NPC to learn a patrol route the option to "Dismiss" goes away, is there a workaround this?

     

    Stupid question, but after you ask them to "Follow me for your patrol route", did you try to dismiss them at that point, or did you say "Patrol your route" before trying to dismiss them?

     

    If you only asked them to follow, then my guess is the NPC is still waiting to finish learning the patrol route, and it's not possible to dismiss them until they've started patrolling (and therefore left that state).

     

    That's a guess though. If you haven't tried that yet, try it and see if it works.

  11. Well, because I'm basically a PITA, I have another question.

     

    I'm trying to do a "dead is mostly dead" playthrough. I've got all of it working as far as the base game is concerned - you can't craft or pick up bedrolls, and your skill points are reset upon dying (technically, upon respawning).

     

    But, because I also like these NPCs, I would also like the ability to "unhire" them. Specifically on dying, but just the general ability to trigger this would be helpful.

     

    Is there any way to do this?

     

    EDIT: Well, I just looked in SphereII's C# code, and the answer is currently "no." It wouldn't be too difficult to make a method that would dismiss all entities associated with the player, but I have no idea how you could make it so that it is an event you could trigger through XML (as an "action" property in a triggered_effect tag). This is probably a question for the SphereIICore thread.

  12. So, when I gave you folks leeway with spawning sleepers, I may have been a bit premature.

     

    It turns out that you can't spawn sleepers in POIs unless they are associated with sleeper spawns, in which case they need to be able to have their sleeper volumes be "woke" as a default. AFAIK this is not the default behavior, so sleeper volumes won't spawn NPC spawners correctly.

     

    Meaning, you can't currently spawn NPCs in POIs such that they are in a state that they would be active (wandering, whatever).

     

    Therefore, I would love it if you solved the issue where NPCs spawn without AI in sleeper volumes.

     

    Still not saying I expect anything, just saying this feature would make a bunch of things possible.

     

    Thanks for listening to a rambling lunatic. :smile-new:

  13. Hello, so i formated windows, updated my drives and all that stuff, then i installed the launcher, when i tried to install some modlets, it wouldn't download them, so i thought it was some kind of error, but i could play the vanilla version fine, i uninstalled the launcher and reinstalled, it wouldn't open, so i uninstalled again, but this time, clean uninstall, removes everything linked to the launcher, now it opens fine but when i try to pre-sync a modpack, like Darkness Falls, to download it it gives me this, https://prnt.sc/q90wdl , apparently a missing DLL, is there anyway that i can solve this? also, why when i click download on a modlet, it downloads, but it actually dosen't?

    https://prnt.sc/q90x6d

    https://prnt.sc/q90xge

     

    I've nothing to do with the development of the mod launcher. But, based on the first screenshot, it seems like the mod launcher needs to have SVN installed, and it isn't.

     

    I don't know why - neither why the mod launcher would need it (most repos use Git), nor why it wouldn't be installed. It should be included if the mod launcher was compiled using the appropriate package from Nuget. I could be wrong though, and you might need to download some version of the .NET runtime or something.

     

    This is the library that is associated with that .dll: https://sharpsvn.open.collab.net/

  14. I mention this because that screen is really useful for disabling modlets that aren't ready to play yet (as mine are).

     

    ...Well, it turns out this doesn't work as I expected. As long as the modlet's folder is in the Mods folder, it will be active.

     

    I don't know why I expected otherwise though, since I'm pretty sure scanning that folder is done by 7D2D, not by the mod launcher.

     

    Oh, well. It's easy enough to temporarily move it somewhere else during development.

  15. NPCs should not despawn if they entered the world using the games biome spawner. Also, if you are using F6, make sure you don't use the default dynamic spawner, change to biome spawner. The dynamic spawner wont maintain them outside of the current chunk.

     

    Once we get the A18 version of the Winter Project shipped we can look at NPC sleepers.

     

    Actually, during test play, I did spawn in the first few NPCs using F6 (I hadn't seen Pest or Ghost before and wanted to get a feel for which zombies they should spawn with). I thought more had spawned in from sleeper hordes, but I could easily have been wrong about that. That probably explains why they de-spawned.

     

    Don't knock yourself out trying to support NPC sleepers. I'd be very happy if you did, but I'm not expecting it, especially since I have no idea if anyone else wants them.

     

    Also, if you need some help let me know, I'm not a game developer but do work with C# professionally.

  16. It's no worry. It's a known issue to me, and i'm still on the fence on whether to fix it or not. If I chose to fix it, then there's more processing to identify which folder goes with which mod; it's not challenging though. If I chose not too, then I kind of enforce a standard that your name should match your folder.

     

    I wouldn't be upset if you left it as is. It would be nice if this were documented somewhere more "official" - but this is 7D2D we're talking about, there's not much official documentation of anything, so no big deal.

     

    EDIT: This also solved a kind of unusual "bug" that I saw originally. If the folder doesn't match the name, then the Mod Launcher's Manage Mods screen showed it as "uninstalled" even though it's in the Mods folder, and there's no way to "install" it. When the names match it shows up as installed, without issue.

     

    I mention this because that screen is really useful for disabling modlets that aren't ready to play yet (as mine are).

  17. 1. Tracking turns of in the entitiyClasses.xml, comment out this: <property name="MapIcon" value="ui_game_symbol_bullet_point"/>

     

    It would take a bit of code to make that hired only.

     

    2. Never tried so many at once, try it and let us know.

     

    3. Vanilla NPCs wont work as you said, at this time you cant do what you ask.

     

    1. That's good, it means turning off tracking should be easily done via a modlet. Point taken about the code needed to only track hired NPCs.

     

    2. Well, I tried this, with mixed results.

     

    First, it seems that NPCs de-spawn when you leave the chunk. That's actually not a big deal to me personally, and it actually might make NPC-heavy worlds not consume a huge amount of resources.

     

    Second, I tested this by adding them to many of the vanilla spawn groups. This worked somewhat, but not quite as intended.

     

    Part of my plan was to have NPCs spawn inside POIs along with the zombies. The idea was that you would go to loot a POI, only to find one or more survivors who are already fighting for their lives, and you could help them or not.

     

    They did spawn in these cases, but the NPCs didn't do anything. They just stood there, and didn't fight any woken zombies, or wander around, or anything like that. (They did work if you hire them after they spawn.)

     

    I'm pretty sure this is because POI spawns are sleeper volumes, and the NPCs (zombies in vanilla) spawn in a sleeping state. In this state all AI is shut off. Waking zombies probably involves calling some kind of method that your NPCs simply aren't programmed to respond to.

     

    Zombies would also not wake in their presence, I'm guessing because 7D2D codes them to only wake up to players. That could be OK if the NPCs did spawn in a woken state, because then they could target the sleepers, which I'm guessing would wake them.

     

    So, I think they will only work if they are spawned into groups that aren't initially sleeping. Friendly/hostile animals are in this category, which is why your modlet works as is.

     

    (I'm not expecting you to add the "wake up" code, just letting you know what I found.)

     

    3. That is a pity, but it was a long shot anyway. C'est la vie.

  18. Some questions about modifying this modlet...

     

    Is there any way to turn off tracking the NPCs on the map? Or, better yet, only track those NPCs that you hired?

     

    How much of a resource drain are the NPCs? I'd like to make a private mod that dramatically increases the number of NPCs in the world (like, hundreds) and I'm wondering if that's practical with my older gaming PC.

     

    Finally - and this is a pie-in-the-sky question - but way back in A16 you could create NPCs purely in XML, using UMA with the 7D2D native player animations:

    https://7daystodie.com/forums/showthread.php?73594-How-to-make-and-use-your-own-uma-npcs-in-7dtd(wip)

     

    From what I understand, this still halfway functions, but the resulting NPCs don't move - I guess because they can no longer hook into the native 7D2D AI.

     

    Would it even be possible to port this over to A18+ and use the SphereII Core NPC AI hooks instead?

     

    I'm asking merely because I would like vastly more varieties of NPCs in the game, without having to create models, animations, etc. in Unity.

  19. ...OK, ignore the last post, I figured it out.

     

    In the mod.xml and ModInfo.xml files, the values for the "name"/"Name" tags werewrong. It turns out the value must exactly match the name of the modlet's folder in the "Mods" directory.

     

    I had assumed, wrongly, that they were human-readable names for the modlet. (Human-readable text can be put in the description instead.)

     

    Once I entered the folder name in those values, everything seemed to work fine.

     

    Sorry for wasting your time with the long post.

  20. Apologies, you must get sick of these requests for help, but I've got another one.

     

    I'm creating a modlet for another modlet (Xyth's NPCs). It simply removes Harley Quinn from the spawn lists, and it should be dead simple.

     

    However, when I try it out, I get an error in the Mod Launcher logs: "The given path's format is not supported."

     

    Link to the logs in Pastebin: https://pastebin.com/14UjBhGH

     

    Here is as much information, that I can think of, that might be relevant:

    • I created an entirely new MyMods mod ("My_NPCs") using the Mod Launcher, and copied the contents of the game (so not modifying the original)
    • The game was copied from A18.2b2
    • The modlet is named the same as Xyth's but with "_Remove_Harley_Quinn" after it, so it should load after Xyth's
    • My modlet is not in any repo, I created it by hand in the "My_NPCs/Mods" folder

     

    Here are the contents of the relevant files...

     

    Config/entitygroups.xml:

    <configs>
     <!-- Remove from Friendly Animals group - this is the only group in which Harly spawns -->
     <remove xpath="/entitygroups/entitygroup[starts-with(@name, 'FriendlyAnimals')]/entity[name='NPCHarleyQuinn']" />
    </configs>
    

     

    mod.xml (copied and modified from Xyth's):

    <mod>
     <info>
       <author>khzmusik</author>
       <name>Xyth NPCs: Remove Harley</name>
       <description>Removes Harley Quinn from the Xyth NPC Mod</description>
       <mod_version>1.0.0</mod_version>
       <game_version>18.0</game_version>
     </info>
     <dependencies>
       <dependency>Xyth NPCs</dependency>
     </dependencies>
    </mod>
    

     

    ModInfo.xml (also copied and modified from Xyth's):

    <?xml version="1.0" encoding="UTF-8" ?>
    <xml>
    <ModInfo>
    	<Name value="Xyth NPCs: Remove Harley" />
    	<Description value="Removes Harley Quinn from the Xyth NPC Mod" />
    	<Author value="khzmusik" />
    	<Version value="1.0.0" />
    	<Website value="" />
    </ModInfo>
    </xml>
    

  21. Using the Mod Launcher, I just tried updating this mod to the latest version, and I'm getting an "svn checkout error":

     

    "'C:\7D2D\Alpha18\My_Mods\Xyth NPCs' is already a working copy for a different URL"

     

    Deleting and re-downloading the mods in the Mod Launcher fixed the issue (unsurprisingly) so it's not a breaking bug. But, I thought you should know about it.

     

    Also - remember a while ago, when I said the Mod Launcher (and DMT) didn't catch that the mod was dependent upon SphereIICore and SphereII NPC Dialog Windows? I might have found the cause.

     

    In the mod.xml file, there are spaces around the names of the dependencies:

     <dependencies>
       <dependency> 0-SphereIICore </dependency>
       <dependency> SphereII NPC Dialog Windows </dependency>
      </dependencies>
    

     

    It's just a hunch though.

  22. The npcs can and will hit you if you get in their way, the npcs will attack any enemies they notice even when told to stay/guard, i tend to leave them out in an open area of my base so they can run around if they aggro on something rather than breaking all my walls/doors, and for the love of gawd turn off the maslow or they will run to every bloody corpse to munch on it, even through doors and walls. They will persist if you leave them at your base, but if youre out and about and die with them in tow there is a chance you will lose them.

     

    I agree that their AI is way too aggressive. I was looting a POI recently, one with a concrete wall separating two major areas of the POI, and my NPC companion sensed a zombie on the other side and immediately tried to knock down the wall to get to it. It would have taken probably fifteen minutes in real time for the NPC to break through, so rather than stealth like I prefer to do, I just went around the wall (the long way) and the NPC just popped up beside me and started attacking everything.

     

    When it did, it pushed me into a zombie, where I couldn't move out of the way, so I ended up dying. Fortunately I did not encounter any issue with losing the NPC - it just spawned next to me when I spawned near my bedroll.

     

    I know that neither SphereII nor Xyth actually created the AI that they use, so I don't know if it's possible to turn off aggro if the zombies aren't in line of sight. But if it is possible, it would be a good idea to do so.

     

    Until then, it's probably best to have them wait at your base, or outside the POI to defend against wandering Zs.

     

    (I also don't know what is meant by "maslow," FWIW)

×
×
  • Create New...