Jump to content

sphereii

Members
  • Posts

    3,062
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by sphereii

  1. sphereii

    SphereII's Mods

    Better Life places birds nest and other things under water that act as spawners for the fish. I would imagine entering a new area would be required for those to be placed.
  2. sphereii

    SphereII's Mods

    Not yet. I think xyth and I are getting close to having a conversation about it though.
  3. sphereii

    SphereII's Mods

    Mods have been updated to Alpha 21.1. Due to changes in trader protection and inventory changes, you must upgrade for it to work well. Trader Protection problem symptoms will come in the form that all trader quests will be buried supplies. inventory problem symptoms comes from an GetItemCount() change.
  4. sphereii

    SphereII's Mods

    The feature itself is active, but the portals themselves are not craftable nor do they spawn in without the matching guppy portal's modlet.
  5. Can you send the log file?
  6. sphereii

    SphereII's Mods

    Yes, it is planned, and we are committing to bringing it forward Which teleport features were you looking to disable? The portals? NPC teleports?
  7. sphereii

    SphereII's Mods

    The mods contained in this repo have been made available for anyone to use with 7 Days To Die. They are pre-built, but also come with all sln and project files to build yourself. All Mods here are freely available to re-use, re-implemented, or disassembled and re-used in your own mods. You are welcome to use individual snippets as needed Overview The mods contained within are meant to be used by modders and players. Some mods are more complex than others, such as 0-SCore. The primary hosting https://github.com/SphereII/SphereII.Mods An automatic mirror is hosted on gitlab, to allow for ease-of-use for direct links. Direct Downloads Everything: https://github.com/SphereII/SphereII.Mods/archive/refs/heads/master.zip Individual Downloads: 0-SCore This is the main mod. This mod is primarily aimed at modders who want to extend their own mod without coding in the features themselves. However, players can also use it freely. It contains Harmony patches, C# classes, and XML examples. It is not EAC-Safe. Note: Adding 0-SCore to an existing save game may corrupt it. Only use it on a new save game. The main configuration of the features is documented under Config/Blocks.xml. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=0-SCore Change list: https://github.com/SphereII/SphereII.Mods/blob/master/0-SCore/ReadMe.md Bloom's Family Farming This mod turns on features from the 0-SCore mod to enable more farming features, and provides examples. This enables crops requiring water, and allows for enhanced water pipes to allow you to run water from a water source to pipes. Requires: 0-SCore https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=Blooms%20Family%20Farming SphereII A Better Life Adds in fish into the natural water ways of the world. Requires: 0-SCore https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20A%20Better%20Life SphereII Dedicated Tweaks Theoretical mod to help reduce memory consumption on dedicated servers. It has no impact on single-player. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Dedicated%20Tweaks SphereII Legacy Distant Terrain Re-implements pre-Alpha 18 distant terrain, which may improve performance for lower end PCs. It also disables the Splat Map, which allows players to play down terrain blocks and not have them auto-switch to the current biome's terrain. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Legacy%20Distant%20Terrain SphereII PG13 This mod replaces the Party girl's model with the Nurse's model. This is just a visual change. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20PG13 SphereII Peace Of Mind This mod replaces a few items in the game that may be a trigger event, such as ropes and nooses. Stay healthy. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Peace%20Of%20Mind SphereII Skip Tutorial Quests Skips the starting quests chain, giving you the starting skill points, and the quest to find a trader. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Skip%20Tutorial%20Quests SphereII Take And Replace Allows certain blocks to be picked up, such as removing boards from a window. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Take%20And%20Replace SphereII Music Boxes Adds in support for Audio / Video players, using provided items as CDs and DVDs. https://gitlab.com/sphereii/SphereII-Mods/-/archive/master/SphereII-Mods-master.zip?path=SphereII%20Music%20Boxes
  8. I don't think the ConfigDumps formatting really matters. The game reads the entitygroups line by line from memory. The configsDump is just a helper set of files so we can verify that we've added things correctly. However, it doesn't really do it cleanly anymore for entitygroups. If your changes aren't working, I don't think its related to formatting of the file. Sorry for the delay. Yes, you'd append new recipes and properties to recipes, items, blocks, etc. If you needed to add new lines and change existing settings, you would use a combination of append to add the new properties, and then use set to change the value attribute on the ones you have. If there's a lot of edits to a single recipe, I often times feel that doing a remove and then append a whole new recipe. What do you have now with your csv editing?
  9. the second part is animalboar and not animalBoar like in the first part. I can look closer tomorrow morning
  10. What about something like this: <csv xpath="/entitygroups/entitygroup/text()[ [ contains(., 'animalBoar') and not (contains(., 'animalboar,')) ] ]" delim="\n" op="add" >animalIceburgBabyBoar</csv>> Note, not is a function, so you need to wrap its condition inside of ( )
  11. Sorry, I misunderstood. Try something like this: It'll search the contents of the text(), then apply the information to the contains. Note in this case, we don't use the text() within the contains like we have with the other formats, but rather we can use a period. <csv xpath="/entitygroups/entitygroup/text()[contains(., 'animalDoe')]"> animalIceburgBabyDeer" </csv>
  12. The reason this doesn't work: <csv xpath="/entitygroups/entitygroup[@name='*' and contains(text(), 'animalDoe') and not(contains(text(), ',') ]"> animalIceburgBabyDeer" </csv> is because the text() searches all of the entries in, so if it finds a , anywhere, it'll fail to append. Are you trying to add the BabyDear to the same entry as animalDoe, that has a probability? If so, you'd want something like this: <csv xpath="/entitygroups/entitygroup[@name='*' and contains(text(), 'animalDoe,') ]"> animalIceburgBabyDeer" </csv>
  13. The tricky part is that the text() of the entitygroups node is treated as a solid text, and contains new lines. This limits the usage of starts-with / ends-with, and leaves us with contains(). From previous tutorials, we've talked about the power, and danger, of contains, since "meow" can be found in "homeowner". This needs to be as precise as possible. <csv xpath="/entitygroups/entitygroup[ starts-with(@name, 'ZombieGhostTownGroupGS') and contains(text(), 'zombieArleneRadiated') ]"> zombieSMGArlenePLUS, 0.2 </csv> Now, as an exercise, I wanted to see if we could target things very specifically. Let's say we wanted to add the zombieSMGArlenePLUS (which sounds terrifying), to each zombieArleneRadiated that did not have a probability of .7. This may not ever occur, so the information is just an example. <csv xpath="/entitygroups/entitygroup[ starts-with(@name, 'ZombieGhostTownGroupGS') and contains(text(), 'zombieArleneRadiated') and not( contains(text(), 'zombieArleneRadiated, .7' )) ]"> zombieSMGArlenePLUS, 0.2 </csv> That assumes the formatting is correct, in that the probability is added to the line with a , a space, followed by a number. Reminder that the "not" is a function of xpath, so it must contain the ( ) around the condition.: ie: not ( blah = blah ) Using the above syntax, you could swap out the not conditions with zombieBoeRadiated. <csv xpath="/entitygroups/entitygroup[ starts-with(@name, 'ZombieGhostTownGroupGS') and contains(text(), 'zombieArleneRadiated') and not( contains(text(), 'zombieBoeRadiated' )) ]"> zombieSMGArlenePLUS, 0.2 </csv> ZombieSMGArlenePlus would not be added to any group that contains zombieArleneRadiated and zombieBoeRadiated. She would, however, be added to any entitygroup with a zombieArleneRadiated. Changing zombieBoeRadiated to zombieBoe would open up the search a lot more, and reduce her spawning, since it'd match zombieBoeRadiated, zombieBoe, and zombieBoeFeral. The contains( text() calls re-parse the entire node looking for the target, so the entities do not need to be directly below or above them, just inside the same text() itself.
  14. try "SnakeGroup" with a capital G in Group.
  15. It's trying to use the API to read version numbers. Maybe the API was different for those older mods.
  16. Its possible that some of the older mods just don't work with him. I'd have to investigate why they aren't working.
  17. Click on Install New Mods, and in the blank drop down, select Alpha 16
  18. Alpha 21 has introduced a new xpath hook for us to use: <csv /> The existing xpath hooks remain unchanged. <csv allows us to better manipulate some values stored in lists. Structure: <csv xpath="//XML/path/to/the/attribute/values" delim="" Single character that defines how the list is seperated. For examples: delim="," <!-- This is default if ommitted --> delim=":" delim="\n" <!-- this indicates it's seperated by a new line --> op="add" / op="remove" Add or remove from the list. >Values to add or remove</csv> <!-- Wild cards may be used ( * ) on the remove operation. --> For example, if you wanted to remove the keystoneBlock ( Land Claim block ) from the starting list, you would have previously had to do a <set on it to replace the entire line. XML: <property name="ItemsOnEnterGame.GameModeSurvival" value="drinkJarBoiledWater,foodCanChili,medicalFirstAidBandage,meleeToolTorch,keystoneBlock,noteDuke01"/> <property name="ItemsOnEnterGame.GameModeSurvivalSP" value="drinkJarBoiledWater,foodCanChili,medicalFirstAidBandage,meleeToolTorch,keystoneBlock"/> <property name="ItemsOnEnterGame.GameModeSurvivalMP" value="drinkJarBoiledWater,foodCanChili,medicalFirstAidBandage,meleeToolTorch,keystoneBlock"/> Old <set: <set xpath="/entity_classes/entity_class[@name='playerMale']/property[starts-with(@name, 'ItemsOnEnterGame')]/@value" >drinkJarBoiledWater,foodCanChili,medicalFirstAidBandage,meleeToolTorch,noteDuke01</set> New <csv: <!-- Removes the keystoneBlock, and the extra comma --> <csv xpath="/entity_classes/entity_class[@name='playerMale']/property[starts-with(@name, 'ItemsOnEnterGame')]/@value" delim="," op="remove" >keystoneBlock</csv> <!-- Add a pipe rifle to the starting list --> <!-- You can still use <append to add to this list, but you will need to add in the comma yourself. --> <csv xpath="/entity_classes/entity_class[@name='playerMale']/property[starts-with(@name, 'ItemsOnEnterGame')]/@value" delim="," op="add" >gunRifleT0PipeRifle</csv> This can also be used to manipulate other lists, such as Tags: <property name="Tags" value="entity,player,human"/> <csv xpath="/entity_classes/entity_class[@name='playerMale']/property[@name='Tags']/@value" delim="," op="add" >zombie</csv> <csv xpath="/entity_classes/entity_class[@name='playerMale']/property[@name='Tags']/@value" delim="," op="remove" >entity</csv> Entitygroups.xml has seen some changes for A21. You may still use set, append, and the other xpaths to add new / remove entire groups. Entitygroups does not have an attribute or sub-nodes in which to add or remove entities from the list, so we cannot use the other xpath commands. Instead, these are defined in the "text" area of the XML, and you would use the special xpath keyword: text() instead of the traditional @value. Example: <entitygroup name="ZombiesAll"> zombieBoe zombieJoe zombieSteve <!-- snipped /modified for brevity and example --> zombieBiker, .3 zombieBikerFeral, .3 zombieBiker zombieFatHawaiian, .3 </entitygroup> However, to manipulate an existing group, you will need to use <csv, with a delimiter of new line ( "\n" ). <!-- Remove the zombieTomClark from the ZombiesAll --> <csv xpath="/entitygroups/entitygroup[@name='ZombiesAll']/text()" delim="\n" op="remove" >zombieJoe</csv> <!-- Remove the zombieBiker, using a wild card --> <!-- This would hit zombieBikerFeral, and any zombieBiker with a probability. --> <csv xpath="/entitygroups/entitygroup[@name='ZombiesAll']/text()" delim="\n" op="remove" >zombieBiker*</csv> <!-- To add to an existing group, spread it over multiple lines --> <csv xpath="/entitygroups/entitygroup[@name='ZombiesAll']/text()" delim="\n" op="add" > zombieFatHawaiian2, .3 zombieFatHawaiian3, .3 zombieFatHawaiian4, .3 zombieFatHawaiian5, .3 </csv>
  19. do you have the log files from the server?
  20. Thank you so much. We'll add that in for the next update.
  21. Hmm, I'll take a look. Was it a Retrieve The Supplies quest? Did it happen only once, or is it happening for each of those quets?
  22. That's correct. Any map will do Some people include compo pack, and that seems to work too.
  23. Just the Mods folder is all you need on the server. Clients will also need to have the same copy of the Mods folder installed.
  24. I would be very surprised if it loaded below that, but it may with graphic settings set low.
×
×
  • Create New...