Jump to content

mr.devolver

Members
  • Posts

    2,040
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by mr.devolver

  1. 4 hours ago, sphereii said:

    The localization.txt was just kind of added at the end of the dev cycle, as it was originally just writing everything to the dialogs.xml, rather than relying on Localization.txt. This was preferred (by me) because Localization.txt doesn't push from servers, so it made sense to bundle it together. 

     

    However, it does make sense to allow merging of localization. I'll set aside some time to give the dialog update some love. Manually, you can remove the top of the file on the 2nd Localization, the header, and just copy and paste the contents from the file into the other one.

    That wouldn't work, because auto generated keys would introduce duplicates.

    4 hours ago, xyth said:

    Tags are static as far as i know.  CVars are dynamic so you can set and reset those.

    Yep, while I was waiting for your reply, I figured I could try to go with cvars (again those pesky cvars I'm desperate to learn how to use as there is not enough learning material on those!) and I'm more or less finished on the xml part, but I couldn't test it due to that issue with 7 Days to Dialog. :(

  2. There is a major problem with 7 Days to Dialog. You can save two dialogs in one dialogs.xml, but only one dialog is saved in Localization.txt. This prevents you from merging two different dialogs into one modlet. It's probably possible to fix this manually, but since I have no idea how exactly these dialogs work, I guess I will have to stop working on quests for now. :(

  3. And about that tag, is it possible to add/remove it to/from an NPC through xml based on various conditions? I was thinking about using append, but xpaths are only static changes right? I guess we can't use appends when certain requirement was met?

     

    Example:

    NPC has:

    <property name="Tags" value="entity,npc"/>

     

    I need to temporarily add my own tag related to quest (and then remove it after the quest is finished), so NPC would have:

    <property name="Tags" value="entity,npc,QuestTag"/>

     

    Normally I would do something like:

    <append xpath="/entity_classes/entity_class[starts-with(@name,'NPC')]/property[@name,'Tags']/@value">,QuestTag</append>

     

    Please correct me if I'm wrong, but the problem here is that append is a static change that can't be triggered inside <effect_group> based on certain <requirement> there, so I can't really change tags of NPCs back and forth, right?

  4. 35 minutes ago, xyth said:

    I'm actually working with Tin on that very method for a new character feature for release in A19.  I think you need to place a buff on the player, and that player buff then does an AOE buff that targets that NPC through tags compares and if it matches a new buff is added to the NPC.  Not my specialty but once we get it working in game maybe i can share it.

     

     

    Thanks, if you could share it that would be awesome. By the way what does AOE actually mean?

     

    Still, if I may make a suggestion to SphereII, it would be awesome if he could add a feature AddBuffToNPC, or extend AddBuff so that you could choose who gets the buff - player or NPC, so that you could do both ways through dialog directly.

  5. But that would apply the buff on the player, I need the buff to be applied on the NPC. If you wanted to apply buff on the player, you can do it through the dialog easily by using AddBuff action, but that applies the buff on the player and I can't see any action in the list that would apply the buff on the NPC.

  6. @Xyth, @SphereII,

     

    as you know, I've been trying to add some basic quests that involve NPCs, but I ran into an issue. The problem is that I believe I need to give the NPC some buff through the dialog. I figured I could give the player a specific buff through dialog, but for this quest I think I need to do it the other way around, can't think of any other way. Is it possible?

  7. 3 hours ago, Reeves said:

    Hi lads interesting stuff you guys are doing I did the tutorial last night just for shits and giggles now you got me interested in how hard the rest of it is.  But before I do any more how much of this content is relivent for A18?.

    Thanks

    I promise you it is VERY relevant to A18. If you follow Xyth's awesome video tutorials and use his template project which is updated and ready to go for A18. I know this because recently I created my Crowbar mod thanks to his tutorial, so it's as relevant as it can be. Feel free to go wild in your modding and of course don't forget to share your creations with us, we want a piece of that cake too! :classic_tongue:

  8. 5 minutes ago, Redarmy45 said:

    Yeah i really miss this feature too,it seemed to work well im also not sure why it was taken out.

    I'm not saying it was taken out, I'm just saying I haven't seen it in a while. You know, it used to be available on all NPCs, but at some point it was supposed to be available only on certain NPCs where it would make sense - farmers, bakers or nurses should not be expected to be good guards as opposed to trained soldiers.

  9. 5 hours ago, Tekajin said:

    Heya fellas,

     

    First of all I'd like to say from what i've seen, i'm really impressed and like to thank you for the work you've put into the mods.

     

    However I do have a little problem I can't seem to fix on my own and would love to get some help with it.

     

    I'm not new to modding 7 Days To Die but after adding a few of the creature packs I keep getting the infernal: "Null reference exception object reference not set to an instance of an object".

    And it has me stuck.

     

     

    I've been able to reproduce the specific error in a world that was generated by NitroGen (along with the ComboPack addition).

    And it only seems to happen with the Zombie Creature Pack. I've tested the other packs seperate and it only seems to happen with this specific pack.

     

    The specific error that I keep geting is listed below:

     

    --------------------------------------------------------------------------------------------------

    (Filename: <3ca2702590144b2c95bd610195728952> Line: 0)

    NullReferenceException: Object reference not set to an instance of an object
      at Chunk.GetEntitiesInBounds (System.Type _class, UnityEngine.Bounds _bb, System.Collections.Generic.List`1[T] _list) [0x0009e] in <3ca2702590144b2c95bd610195728952>:0 
      at World.GetEntitiesInBounds (System.Type _class, UnityEngine.Bounds _bb, System.Collections.Generic.List`1[T] list) [0x00097] in <3ca2702590144b2c95bd610195728952>:0 
      at EAISetNearestEntityAsTarget.FindTarget () [0x001f4] in <3ca2702590144b2c95bd610195728952>:0 
      at EAISetNearestEntityAsTarget.Continue () [0x00081] in <3ca2702590144b2c95bd610195728952>:0 
      at EAITaskList.OnUpdateTasks () [0x00030] in <3ca2702590144b2c95bd610195728952>:0 
      at EAIManager.Update () [0x0001b] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.updateTasks () [0x00063] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.OnUpdateLive () [0x00154] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityEnemy.OnUpdateLive () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityZombie.OnUpdateLive () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.OnUpdateEntity () [0x0001e] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntity (Entity e, System.Single _partialTicks) [0x0015d] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntitiesSlice (System.Int32 count) [0x00037] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntitiesSlice () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.UpdateTick () [0x00026] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.gmUpdate () [0x00297] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.Update () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 

    --------------------------------------------------------------------------------------------------

     

    I appreciate any help you guys can give so I can enjoy the new playthroughs of the game we all love (and hate sometimes lol).

     

    I will be heading off to bed, any responses might take a little bit :).

     

    Thanks guys.

    Please, first make sure you start playing a new world. If you can reproduce this problem in a new world, then provide your output_log.txt file from the gameplay where these NREs occured, so that Xyth can analyse it and fix the problem. Thank you.

  10. 1 hour ago, Redarmy45 said:

    Thanks Xyth

     

    I lowered it to 25,NPCs still do the terratorial behaviour outdoors but are no longer running around POI's like its a fun house,and thus sticking close to me,allowing for a "room by room" clearing experience.Much better to be honest.

     

    I notice an ill effect on the the terratorial and wander behaviour when they are using both these tasks in conjunction with each other...

     

    By telling the NPC to "wander around here",and then them engaging zombies in the area,the wander around here task restarts,but this time they are wandering from the new position(where they killed a zombie) and this is the main cause of NPCs who wander getting lost by venturing too far out from the original point you told them to wander from(IE around your base)

     

    Perhaps in future you might consider letting NPCs remember the block they started the task from and have them return to it to resume wander after they kill an enemy.

    I haven't seen the "Follow me for your patrol route" dialog option in a while, is that function still there? I know it was planned that this function will be available only for suitable NPCs who can be used as guards, but with new NPCs I'm kinda losing track of who still has this ability and who doesn't. Either way, the reason why I'm mentioning this feature is that it was one of the best things about this mod in A17. You could teach your NPCs the path around your base and they would follow it and defend it against most of the threats for you and never really leave the path until they were given a different order.

  11. 2 hours ago, xyth said:

    Great news.  Thanks for tesring guys.  I want a stable build that can last a bit while we prep for A19

    I wanted to report major problem with entities, one guppy zombie and vanilla vulture as they spawned but didn't move. Then I realized I accidentally pressed the AI toggle key, oh well at least now I know which key it is LOL

  12. 6 minutes ago, q123 said:

    thank you @xyth😊     

    that comma-bug-fix was it, I think.

     

    I first tested in a new world and later also in my existing world. Every creaturepack sleeper woke up by self and the best - no NREs so far 😁

    That's good to hear, I also hope I won't see those NREs again, but I'm still testing. So far so good. We will see.

  13. 3 hours ago, xyth said:

    Pushed updated zombiepack .51, might fix it but i cant repo so please test on a new game.

    I just grabbed the update and I'm going to test it. Well, it's probably hard to reproduce really, because I literally didn't do anything in the game when that happened, because I was tweaking reshade filters (trying to match the new Alpha 19's look lol) and I started doing that immediately after spawning into a new world. While I was doing that, it was soon the in-game evening and zombies started spawning more closely to my location so I wanted to use God mode to avoid getting killed while I'm messing with the reshade settings and when I pressed F1 to get into console, I noticed the red sea of NREs was already there, filling up the whole space in the console. I guess I didn't see those errors thanks to Sphereii's code which prevents errors from taking control from the player. So yeah, kinda hard to reproduce when I have absolutely no idea how this happened.

  14. 4 hours ago, Jeraal said:

    I voted for the gun safes. I much prefer the older system with the red and yellow theme. I'll refer to it as alpha 16 which I liked. The one prior to this one I'll call alpha 17, which I very much disliked. This version I'll call alpha 18, which is better than 17. 

    You're not getting Alpha 19 any time soon, so you better get used to what you have now lol

  15. 1 hour ago, q123 said:

    no ;)

     

    this creature pack brings so much variety into the game - it's perfect for killing the time until a19 comes out :)

     

    --

    update:

    sorry to say that, but I got more NREs after a game restart - this time I think it's maybe 'zombieGuppyDoctor04Black' (?), after the following 3 zombies where killed the NRE-spam stopped:

     

    
    2020-05-04T22:53:54 841.910 INF Executing command 'killall'
    2020-05-04T22:53:54 841.911 INF Entity zombieSteveCrawler 8619 killed
    2020-05-04T22:53:54 841.912 INF Entity zombieFarmer 8622 killed
    2020-05-04T22:53:54 841.913 INF Entity zombieGuppyDoctor04Black 8626 killed
    2020-05-04T22:53:56 843.702 INF VehicleManager saving 2 (1 / 1)

    yesterdays version was fine for me (besides that sleeper-thing).

    Have you tried to start a new world? Because the way you're describing it sounds like you're playing an older save which could cause issues sometimes which would also explain why "killall" seemed to solve the problem for you. You probably had some old versions of entities spawned in that had to be killed to not cause errors. I should probably also mention that I haven't tried the latest version myself yet, so I can't confirm at the moment.

  16. Just now, q123 said:

    After the latest update I got some NREs:

     

    
    2020-05-04T22:17:31 139.066 INF DMS Entered Game!
    2020-05-04T22:17:31 139.300 INF Getting new currentStreamer!
    Calling Animator.GotoState on Synchronize layer
     
    (Filename: C:\buildslave\unity\build\Modules/Animation/Director/AnimatorControllerPlayable.cpp Line: 1374)
    
    2020-05-04T22:17:33 140.685 INF Calculating hashes took 5983 ms (world size 660 MiB)
    2020-05-04T22:17:58 165.555 INF Time: 1.83m FPS: 57.89 Heap: 3240.3MB Max: 3240.3MB Chunks: 289 CGO: 223 Ply: 1 Zom: 0 Ent: 5 (5) Items: 0 CO: 1 RSS: 8498.0MB
    2020-05-04T22:18:28 195.544 INF Time: 2.33m FPS: 57.78 Heap: 3337.3MB Max: 3337.3MB Chunks: 289 CGO: 223 Ply: 1 Zom: 0 Ent: 5 (5) Items: 0 CO: 1 RSS: 8660.9MB
    2020-05-04T22:18:44 211.924 INF VehicleManager saving 1 (1 / 0)
    NullReferenceException: Object reference not set to an instance of an object
      at Chunk.GetEntitiesInBounds (System.Type _class, UnityEngine.Bounds _bb, System.Collections.Generic.List`1[T] _list) [0x0009e] in <3ca2702590144b2c95bd610195728952>:0 
      at World.GetEntitiesInBounds (System.Type _class, UnityEngine.Bounds _bb, System.Collections.Generic.List`1[T] list) [0x00097] in <3ca2702590144b2c95bd610195728952>:0 
      at EAISetNearestEntityAsTarget.FindTarget () [0x001f4] in <3ca2702590144b2c95bd610195728952>:0 
      at EAISetNearestEntityAsTarget.CanExecute () [0x00022] in <3ca2702590144b2c95bd610195728952>:0 
      at EAITaskList.OnUpdateTasks () [0x000ce] in <3ca2702590144b2c95bd610195728952>:0 
      at EAIManager.Update () [0x0001b] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.updateTasks () [0x00063] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.OnUpdateLive () [0x00154] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityEnemy.OnUpdateLive () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityZombie.OnUpdateLive () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
      at EntityAlive.OnUpdateEntity () [0x0001e] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntity (Entity e, System.Single _partialTicks) [0x0015d] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntitiesSlice (System.Int32 count) [0x00037] in <3ca2702590144b2c95bd610195728952>:0 
      at World.TickEntitiesFlush () [0x0000c] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.UpdateTick () [0x00033] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.gmUpdate () [0x00297] in <3ca2702590144b2c95bd610195728952>:0 
      at GameManager.Update () [0x00000] in <3ca2702590144b2c95bd610195728952>:0 
     
    (Filename: <3ca2702590144b2c95bd610195728952> Line: 0)

    this repeated endless until I did a 'killall' - than it stopped:

     

    
    2020-05-04T22:19:13 240.762 INF Executing command 'killall'
    2020-05-04T22:19:13 240.770 INF Entity zombieGuppy01Beige 8591 killed
    2020-05-04T22:19:23 250.912 INF Saving 151 of chunks took 141ms
    Calling Animator.GotoState on Synchronize layer

    the only zombie which got killed was 'zombieGuppy01Beige'. Maybe there is something wrong with him?

    You just can't let go until A19, can you? lol

  17. 4 hours ago, xyth said:

    Happy to look at what you made.  The CPacks and NPC xml is plain as I assumed folks would improve it either by submitting that xml into the base pack or making a 2- xpath modlet.  I'm with you on the dialog app being counter intuative.  I jumped in an it didnt work as expected but then doing it the way the video explains it worked.  

    PM sent.

  18. 53 minutes ago, Snufkin said:

    By request of some people, I lowered dramatically the spawnrate of my zombies. Can't please everyone. You can manually adjust the entitygroups.xml to your taste.

    I think it's better with lower spawnrates, because it's more challenging to research them now! 😉

  19. 15 hours ago, xyth said:

    Yea, I've been meaning to do a demo quest chain with it for the NPCs but other things got in the way.  I started a 2-TestDialogQuest modlet.  Id be happy if you took the lead and started a 2-DialogQuest modlet that others could add to as we go.  Your call if you want yours to be the start of a communitypack or if you would rather release it solo.

     

    On the tool itself, it works but I mentioned a few bugs, but i think those were just me using it "not like intended"   I like to break his things during testing.  if you stick closely to his video it works fine.

     

    Well, the project I've been working on started as a small project main goal of which was to tweak some settings in CP, NPCs and Core for my personal playstyle mainly because I wanted to learn how to mod and I thought this would be a good starting point, but also because I wanted an easier way to customize settings of these mods without the need to change actual base files of these mods, because with updates so frequent, it would be hard to keep changing the files manually every time there is a new update. Also having my custom settings in form of an addon allows me to use the time I would normally spend changing the base files to expand it with some extra features and the first extra feature which I added yesterday was the ability for doctors, nurses and medics to heal you for 100 casino coins (but you still have to hire them first). It would be impossible for me without help of Sphereii's awesome 7 Days to Dialog tool which helped me to expand their dialog to add this extra option there. Other than that, the mod makes it so that all the NPCs have different health, stamina, damage resistance and health regeneration and hiring them has a chance to boost some of their stats as well to simulate that they are better trained now as a part of a group. That's pretty much it for now. I know it's not much, but I'm still learning and I would love to expand it further as I learn how to mod better. At the moment there is no quest though. I would like to create some eventually, but I've never done anything quest related, so I would first have to learn how to do it to be able to do some quests that would involve these NPCs. Right now I don't feel confident about my modding skills to take on that challenge, but if what I have done so far is anything remotely interesting for you, I could give you the files for review and if you think it's good enough for public release, I would release it, but only with your permission, because as you can see from description of it, it's a mod which mostly tweaks work of you, SphereII and other CP contributors and builds on it a little bit.

     

    As for the Sphereii's 7 Days to Dialog tool, I can totally understand what you meant to say there. Yeah I knew there is a video tutorial, but I also wanted to try it out without following the instructions first and I failed working with it that way, so that was when I decided to sit through the whole video tutorial and it was worth it, because indeed doing it just like in the video instead of how I expected it would work did the trick and I managed to add that new "Can you heal me?" dialog option. I'm very grateful that Sphereii created this awesome tool and I hope he will expand it with more interesting features, hopefully some features that will also expand my knowledge about modding. :classic_blush:

    3 hours ago, sphereii said:

    Thank you for your kind words. The tool is complete, however I was concerned about flowing and how usable it was from a user perspective. I can probably release it tomorrow when I get back to my dev PC.  It was a project to go along with the NPCs to add more variety in them.

    Hi! I love your tool! Admittedly, at first it was kinda confusing for me, because when I tried to work with it intuitively, I didn't get too far, but then I watched your tutorial video and everything became more clear then. I guess my problem was just that I had certain idea of how it works and it turned out it works a bit differently than I thought lol. But I think it's fine and people just need to get used to it. I mean, at first it looked like a rocket science, but it turned out to be simpler than that after following the instructions in the video. :p

  20. Xyth, while at it, could you also please tell our dear friend Sphereii to release the kraken called 7 Days to Dialog? I found it totally by accident while looking for something different on Discord. How come you've been hiding such treasure from us? I would think link to such a cool tool along with the tutorial video should be in the first post of this thread so that more people could find it and play with it! I for one installed it today and while it took me a while to figure out how it works, right now I already have unique dialog option for hired Doctors, Nurses and Medics to allow them to heal me for 100 casino coins! I suck at buffs so healing doesn't work exactly the way I would like, but I guess it will have to do for now.  :p This tool is so cool, everyone should be using it by now and yet I don't see a whole lot of quest mods yet, it's because people have no idea how these dialogs work and they don't know that there is a tool which generates those dialogs for them!

  21. 21 minutes ago, xyth said:

    I did confirm this.  The NPC modlet and CPacks do not modify the player.  The Sphereii take and replace modlet and his core does have some unrelated functions that also do effect the player , and better life does mess with water.  I'll mention that to Sphereii.

    Pushed fix for an NRE caused by the WhispererAlpha ragdoll.  That should be the last NRE type error, but let me know.

    You know, I noticed you're blaming Sphereii quite a lot lately... lol

     

    I think he deserves some love for working hard, so do you. ❤️

  22. 2 hours ago, DW420 said:

    Thanks for the reply :) Please allow me to be a bit more specific  in order to (hopefully) assist you in helping me.

    I would like to add different results depending on the source where the liquid was sourced from...but i cant find any vanilla item that actually does something similar...so i'm throwing rocks in the dark, hoping to hear the right kind of thunk sort of speak...

    So far...The following code adds dirty water collection from sinks etc..i'll call it codeA from now on for short.

    
        <append xpath="/items/item[@name='drinkJarEmpty']/property[@class='Action1']">
            <property name="Focused_blockname_6" value="faucet02"/>
            <property name="Focused_blockname_7" value="faucet04"/>
            <property name="Focused_blockname_8" value="faucetBrass02"/>
            <property name="Focused_blockname_9" value="faucetBrass04"/>
            <property name="Focused_blockname_10" value="cntToilet01"/>
            <property name="Focused_blockname_11" value="cntToilet02"/>
            <property name="Focused_blockname_12" value="cntToilet03"/>
            <property name="Focused_blockname_13" value="cntCabinetOldSink"/> 
            <property name="Focused_blockname_14" value="cntGraniteSink"/>
            <property name="Focused_blockname_15" value="utilitySink"/>
            <property name="Focused_blockname_16" value="wallHungSink"/>
            <property name="Focused_blockname_17" value="showerHead"/>
            <property name="Focused_blockname_18" value="fountain"/>
        </append>
    


    The issues arise once i try to add another result/source:

    - Appending an extra 'Action1' block of code as a new entry further down the config throws an error. (just like you said) 

    - Appending the following block of code (codeB) as a new entry further down the config forces all sources appended from codeA to now provide clean water.

    
        <append xpath="/items/item[@name='drinkJarEmpty']/property[@class='Action1']">
            <property name="Class" value="ExchangeItem"/>
            <property name="Delay" value="1.0"/>
            <property name="Change_item_to" value="drinkJarBoiledWater"/>
    <---blockname_1 or blockname_19 makes no difference to the result-->
            <property name="Focused_blockname_1" value="cntWaterCoolerFull"/>
            <property name="Sound_start" value="bucketfill_water"/>
        </append>
    

     

    - Appending both CodeA and Codeb as a single entry also forces all sources appended to provide clean water.

    
        <append xpath="/items/item[@name='drinkJarEmpty']/property[@class='Action1']">
            codeA
            codeB
        </append>
    

    This was also the case 4 years ago...you couldn't have more than 1 type of liquid collected via glass jar.

    Is that possible atm?
    If not , would a tool that uses glass jars as fuel/ammo be (theoretically) able to do this...given what one can or can't do at this point of time?
    Thanks in advance :)
     

     

    Please note that <append> command is really for adding new things within the scope of the last node inside the xpath. If you would rather want to change the existing parts of the code inside that node, you could construct a <set> command to target specific lines of code to change their values, or <insertAfter> / <insertBefore> to add lines after or before the specified xpath. I believe your codeB is a good example where you should be using something different than append as drinkJarEmpty already contains some of those lines you're adding and just like in case of Action1 duplicate, duplication of other lines of code may be undesirable as well.

     

    As for the solution for your actual problem, right now I can't think of anything that I know would surely work, but that doesn't mean there's no solution for it. Some modders are quite resourceful and could probably give you a solution for this with no problem. You could try cvars, buffs, custom effect groups with predefined requirements or combinations of them. I may be wrong, but perhaps it could be done by setting up custom effect group that would give different results based on various different requirements. If everything else fails, you could get this done through DMT (Successor of SDX), but of course that's a whole new level of modding.

×
×
  • Create New...