Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/08/2020 in all areas

  1. In my game, it is the cigar that breaks the icons. To be clear, most of the time when I get the green paw prints I do not get icons on either the compass or the map while wearing the cigar. Sometimes I do get the icons, but I'd say it's something like 5-10% of attempts. When I remove the cigar from my the face slot, the icons on the compass and map reappear. Hope this helps others
    2 points
  2. This is a large amount of information in these posts. I'll be working on a full, properly formed tutorial as we get access to A17 and we can really make the xpath system shine. I've listed some examples here, and we'll be posting a ton more xpath samples over the coming weeks, as we port the SDX modlets over to use the native hooks. By all means, begin posting your comments, questions, or requests for clarity. Since we now know that xpath support will be built-into the vanilla base game, and discussions earlier were getting a bit confusing, I've decided to make a new thread to try to demystify xpath and what it'll mean for mods and modders going forward in A17. The information in this thread has been pieced together from forum and discord discussions. They may not be 100% accurate, but I will update this thread when we know the full implementation. XPath is a way of adding, changing, or removing XML lines and nodes, without directly editing the XML files. It allows you to apply patches to the XML files without manually editing the vanilla XML files. SDX has had partial support for this since its initial release, and a lot of the SDX Modlets are already written this way. We will be using some of the SDX's xpath as examples in this thread, but SDX is not required to do this in A17 and onwards. I believe in using examples to explain concept, so in the next few posts, you'll see a mixture of explanation, along with sample xpath code. The following Mod structure is expected for A17 and beyond: Mods/ <ModName>/ Config/ UIAtlases/ItemIconAtlas/ ModInfo.xml <ModName2>/ Config/ ModInfo.xml You will be able to have multiple mods loaded, and loading will occur as long as the ModInfo.xml exists. This is unchanged from what we've been doing doing with other alphas, with the exception of the Config folder. This Config folder will support loading XML files, written using xpath, in the following folder structure: Config/entityclasses.xml Config/gamestages.xml Config/items.xml The files in the Config folder will not be a full copy of the vanilla file with your changes. Rather, it'll contain the changes you want done to the vanilla files. The files under the Config must match the vanilla file name. You cannot create an entityclasses2.xml file, and expect it to work. Any changes in the entityclasses.xml will have to be done in the same file. However, each mod can have its own entityclasses.xml. During the game's initialization, it will perform the xpath merge in-memory only; no files will be actually be modified. This would allow us to remove mods we no longer want, without re-validating against steam, or previous copies of the xml. That's a big one. No more half merging of a mod, and not having it work, then trying to pull it back out. What this means for us is that we'll be able to make a variety of smaller mods, which I've been calling modlets, which can add, remove and change smaller pieces of the game. They can be used together, or they could be added to an overhaul mod, in order to style your game play easier. These modlets would also exists outside of the Data/Config folder, so if you have made direct XML changes in your Alpha 17.1 Data/Config files, and Steam updated the game to 17.2, you would have lost your changes, or would have to re-merge them in. We've all been there before. But if they existed as modlets, under the Mods folder, they would be safe. And as long as your xpath is still valid to the new XML, it should load up with no additional work on your part. If we could use xyth's JunkItems modlet, which adds random, scrappable junk items to loot containers, and add them to Valmod Overhaul. Likewise, if Valmod Overhaul did not have the No Ammo modlet (which gives you the ability to unload a gun and get its bullets back without disassembling it), you could drop the NoAmmo modlet into your Mods folder. Headshots only? Want to increase stack sizes? Same deal. With a properly constructed modlet, we'll be able to piece together new play styles for people to enjoy and share. A modder working on a large overhaul won't have to duplicate work. If they wanted to include the No Ammo mod, they wouldn't have to code it themselves, letting them focus on the bits that make their mod really unique. Let's get started on your journey...
    1 point
  3. Comfort is not a goal of Winterween.
    1 point
  4. Num pad on the keyboard. Look up the perk. Highly likely it unlocked but you don't meet the requirements. Books don't work the same way as vanilla. Yeah, the corner pipes don't work and I don't know why. So I removed the recipes and made them creative only. I need to look into that again at some point. T-joints work fine though. Glad you sorted it. And the advanced forge thing is because people kept complaining they were buying a perk they didn't need. HOWEVER, you get the points you spent back so you can spend those 2 points and not "lose" anything. Yeah. Just copy 7DTD out of your steam folder, put it somewhere else, patch that copy with DF. That's what I do. Otherwise, no. You can't do that. You NEED a second copy of the game to play modded and vanilla. He works the same way as traders do in vanilla. You should be able to just remove the quest from your failed section in the journal.
    1 point
  5. There is no current experimental build. The current stable version is always "NONE - opt out of all beta programs"
    1 point
  6. what I did is I make a copy of 7days game folder and then put the mod files there (overwrite), then make a shortcut to 7d launcher. Technically it is not double instal, just copy paste. Then whenever I want to run the game, I run steam, then I run the shortcut.
    1 point
  7. Hi, so I figure out the coop and snare. The coop can be placed anywhere outside, but the snare can be put on topsoil. The sand topsoil just works but putting it on road or the gravel bordering the road will cause them to disappear. Also I found out if you take the perk for advanced forge, then get laborer class, you can no longer make advanced forge until you raises two point on laborer class. I think that sucks. I think it doesn't work because you also need specific gun crafting skill to be able to use it. If you go to hunting rifle crafting on perks, it says you need gun crafting 1. Hope this help!
    1 point
  8. There is a story planned for the game and (as far as we users were informed) it covers hints about how the apocalypse started and a story about two rival factions, white river (where the traders seem to belong to) and the Duke (casino owner, shady, crime boss). Story will be added to Navezgane at least once bandits/NPCs are in. Crazy Jake is IMHO just version 0.1 of the quest system, a funny placeholder. Once bandits are in, they might actually incorporate a bandit camp with a Crazy Jake and maybe, maybe they will even say that was the plan all along.
    1 point
  9. - You can craft stone arrows and bolts into feathers.- Returned scrapping value of metal tools, weapons and armour back default value.- Increased scrap value for books. Also gives extra time to cancel accidental scrapping.- Baseball bat scraps to iron instead of wood.- You can no longer scrap drinks, canned food, medical items and high value items.- Increased value of High Performance Running Shoes.
    1 point
  10. What? Explore along a road outside in the wasteland? Goodbye Sandbox!!!!
    1 point
  11. Also, you can get a guaranteed cooking pot without entering a poi. Go to the wasteland, the small bump of a hill with the horizontal pipe on it....cooking pot sitting next to the pipe on the ground. Those are usually a few feet from road/path. As for glue/duct tape, I have anywhere from 8-12 by the end of Day 1 just by searching garbage piles and trashcans without entering a poi. I make bicycles by Day 2 and need a bunch of duct tape since I’m making 2-4 bicycles so duct tape is a priority. I don’t enter poi’s until I have a decent weapon and in every playthrough, I’ve never had a problem getting duct tape. /shrugs
    1 point
  12. With shovels you are right. Digging dirt or those zement/cobble blocks from POIs doesn't require 40 hits like a tree with a stone axe. Right, that's why i said, use them as soon as you have enough stamina skilled. I do often remove single blocks. Just removing the "cover" for "hidden" loot is 1 to 2-shot with a iron axe instead of 4-5 hits with a stone axe. It's your decision what you plant in your plots. Place more plots and also plant coffee. I plant coffee as soon as i got seeds. Primarily i plant potatoes and corn. Less corn because i usually get a lot from farms. Mushrooms don't need a plot. Last time i had 17 plots on day 3. But not enough seeds to be planted in them. I don't know what you are doing. Maybe you are that slow because you put stamina over everything? Usually all food problems for me are solved around the time when i enter iron age (Lvl 12, day 8-10). And i usually also don't go explicit for mining that early, because up to this stage what i find by looting is way enough. All my early skillpints go into "miscellaneous" skills (healing factor, sex rex, cardio, lotl, master chef, lucky looter, adveturer) to solve/improve "basic" problems first. Usually i have spent 10 points and more on various skills before i even increase any base attribute to 2. But think that might happen to people that absolutely refuse to put 1 point in lotl and up to 2 points in master chef (and not finding better cooking receips by accident). You shouldn't complain about food if you spend your skillpoints onto everything but not into what solves the food problem.
    1 point
  13. I think TFP added a correction factor for attack speed because the auger with its high attack speed was one-shotting blocks like crazy. Should be easy to find out with a stone axe and a steel axe in a test game. What is not constant is the price of stamina. While stamina is premium at the start of the game it is almost ignorably cheap in end game. You have more stamina, you use less stamina per swing AND resupplying your stamina pool through food gets incredibly cheap. On the other hand time has always somewhat the same importance. Steel or iron tools are only gamebreaking for strength/miner players, because they can reach mid-game stamina consumption very early making the those better tools viable.
    1 point
  14. Then your discussion is pointless. Sorry. You may have already recognized, that it is not about stamina but speed from other answers. And speed is improved much with iron tools. It is not, just according to your calaculation that didn't even include all variables but even missed the most important one. And you don't find steel tools on day one anymore anyway. Welcome to alpha 19. So what's the point? Discussing about some numbers without any meaning?
    1 point
  15. After playing alpha 19 now for a while, I can say it's the best alpha I've played. I'm still enjoying it now after a few months. So big thanks for that. Alpha 20 with the new stuff if gonna be awesome. I'm really looking forward to vehicle mods. The new outfits sound cool. I like the idea of skins too so we don't all look the same. If that makes it in ofc. Watching the streams really makes you want alpha 20 now haha.
    1 point
  16. Well, leaving the mats aside, speaking how the tools feel, I must say that iron tools feels like an improvement over stone. And steel feels like a BIG improvement over everything else. Sure, we can just use the stone axe and spend a million of years hitting something, but time is important. Morese when the next blood moon is coming closer and closer.
    1 point
  17. This is not a bad start for a comparison, buuuuuut... This is placing a value on 'stamina' as the basis of the comparison. Usually the difference between using a Stone Axe or an Iron Pick-Axe is speed. Yes, early game stamina can be a crucial commodity, but around the time you should be getting Iron tier tools the rate you use stamina is often equal to the rate you gain (or close enough). This means the stamina net cost is negligible (really low and comparable to each other). Durability, mod slots, and frankly speed is a greater concern. This is why the T4 tools don't really have a stamina cost but rather a fuel cost, and are incredibly fast. That all being said, maybe the stamina cost of Iron Tools should be lowered a bit so that it's not worse across the board than primitive ones (running out of stamina does affect speed, and stone tools have a practical unlimited durability).
    1 point
  18. Also need to take into account that the stats for Iron and Steal tier tools are random with in over lapping ranges whenever you find or craft them. Which Stone tools always have same stats as they do not vary due to how easy they are made. As a result every Iron or Steal tool is different and since the ranges over lap it's possible to have a Iron tool with better stats then a Steal one. This is done to ensure that your always motivated to hunt down better tools even when all the ones you find are quality 6 as no two tools are created equal.
    1 point
  19. Don't forget the Ergonomic Grip and SexRex. That and coffee, well, you can swing all day long, and yes, time is a factor. I swap to iron once I get to 2 or 3 of sexrex, steel, I wait until it's 4/4 and I can make Q5 tools. (bunkerbuster, iron breaker, ergonomic grip) Now, if you have all the mining books, would be funny to see how the stone axe does, as you still have the same chance to one shot the block.
    1 point
  20. There are buffs for stamina regen, like coffee. Running out of stamina only comes into account, if you do heavy mining and not just need to remove one or two blocks. And as i already said: WHEN having enough stamina regen, i use iron instead of stone. That is not on day 1 without any skills (with the progression system you won't even obtain iron or steel tools that early). Comapring performance with no skills at all is pointless. Without any skills also steel tools won't be really usable. If you have skills to keep up stamina, TIME is the relevant factor. And THEN even iron is far better than stone.
    1 point
  21. No, the iron tool is faster than the stone one but still slower then the steel one. So in the end, until you have steel tools you can decide if you want to take a long time but save 100 stamina with stone, or do it quick and "waste" stamina with iron. I usually don't use stone tools from when i have enough stamina regen to use iron. Because iron is much much faster.
    1 point
  22. Since we have are going to have biome difficulties now, maybe bring back the plains biome? This could be a good 2nd tier difficulty after the forest biome. Plus more variety....just saying.
    1 point
  23. And now correct your math by taking ALL variables into accout, e.g. TIME. All of them have different swing times. So even if a steel pickaxe requires 392 stamina for 15 hits, while the stone axe only uses 385 stamina for 47 hits, with the steel pickaxe the block is destroyed much much faster. Also probably you won't reduce stamina use by the tool in general, because your stamina regen also increases. I usally don't use iron/steel tools early, even if i find one, because they use too much stamina. That is no issue if you have skilled better. In later game i never use a stone axe again, just because it safes 10 stamina per tree you cut down.
    1 point
  24. Did you have them outside on grass? Because they have to be or that will happen. I use the "plant" code to make them grow. If they're not in dirt, the game gets rid of them. EDIT: I actually added this earlier to localization so it'll pop up as a journal entry when you make one. "Animal coops and snares must be placed outside and on grass. They will not work indoors or on player crafted blocks. You just have to wait for them to trigger and loot the contents. Once they have been looted, both coops and snares need to be baited with more animal feed in order for them to trigger again."
    1 point
  25. This makes no sense - at least not coming from someone on your settings. The flaw is not in the argument. The argument is good...freedom is good in a sandbox game. More things = more engagement and more fun. The argument is good. But it doesn't make a bit of sense playing on the most extreme settings the game has to offer without modding. You've CHOSEN the MOST RESTRICTIVE settings and complain about lack of freedom. Why don't you do horde every other day instead of every day? That gives you DOUBLE THE FREEDOM! Why not step the difficulty one down from insane? I bet you'll suddenly feel way more free to loot high intensity locations like kitchens and toilets. Better still, play on default settings and THEN judge the freedom of activity in the game. The reality is, we're free as birds, the game just doesn't have that much content yet. If you want to complain about that too, you can, but you're going to get hit over the head with the word ALPHA a lot, so be prepared.
    1 point
  26. Hope you don't stop at biome modifiers and add stacking town and POI modifiers, plus some extra dynamic modifiers that change with stuff like weather, time, debuffs etc. You've got a wealth of content in the game. Shake things up a bit, give us more varied playthroughs, less inclusive lootlists so that everything isn't everywhere and long-term goals like the radiation zones you are planning. And stop playing Skyrim and play some Rimworld for god's sake MM 😛
    1 point
  27. Please list those forced activities. It could be a fun internet game for the readers to see if they can think up at least one alternate option for every action you claim is forced. I believe that this game is still well within the parameters of Sandbox--even when playing the main default game. Of course, with the creative menu and godmode enabled that truly is the pure Sandbox mode of the game. But let's play DO THE DEVS FORCE US??!?!!? Go. Give us the list. Do it.
    1 point
  28. Excuuuuuuuuse ME! they aren't called "northern beans" they are called GREAT NORTHERN BEANS!
    1 point
  29. Why not use what you have instead of asking for things you don't need. We have lanterns and torches you can place. Generators you can hook up and place spot lights. The drone has a headlight mod. Flares can be modded in IMO, it is a waste of vanilla resources and dev time when there are 50 things that do the same thing. It seems about as valuable as adding pinto beans, black beans, northern beans, red beans etc... who cares we have corn.
    1 point
  30. How about make flashlights throwable? That's probably what he was wanting to do with the flare. Toss it ahead into a dark room...
    1 point
  31. Not yet. That would require some kind of concept of what is inside and what is out. Hard to do in a fully destroyable game. Goggles occupy the entire head slot. You are always wrong bro.
    1 point
  32. Not happening for A20. Vehicle mods are but the whole vehicle crit system has to wait because Faatal is swamped with other features. We have flashlights and gun lights and helmet lights. Do we really need more lights? No, lockpicking is shippable as is. Sure a minigame might be better but we're a small team and we can do more quest types or redo features that are shippable already. That is already done.
    1 point
  33. I really should not bother responding to a post that complains about RNG in a sample size of 20+ loot bags, but I guess I am dumb enough to take the bait. Go play a theme park game with pre-determined loot and gameplay path if you can't overcome the difficulties that RNG brings using the multiple methods that already exist in-game. Maybe sandbox RNG based games are not for you? Personally, I like the RNG nature as it forces me to adapt and overcome when I can't find the thing I need.
    1 point
  34. That's a minmaxer creating problems for himself. Most players don't need to reach 100% in every conceivable stat in order to play the game. Of course... once radiation is part of the gameplay. We're not going to remove bedrock which is the vast majority of indestructible blocks in the game. Traders make up less than 0.5% of the map.
    1 point
  35. If scheduling is proving so hard, why not let the community help out with the baby sitting, errand running, and cleaning? Surely there is some calendar or spreadsheet that can be released, or some projected date that we can help brainstorm around.
    1 point
  36. Modlet Example ========== Here's an example on what a Modlet would look like. It's a very simple one, but just shows how a single model can change how horde night plays out. [ Guppycur's Blood Moon ] Guppycur made some tweaks to the gamestages.xml when Alpha 16 first came out. During a horde night, if you reached the 4th wave, you'd only get a trickle of zombies until the blood moon was over. Often times, this meant that a single zombie would spawn in for you to kill. Once that was done, another one would spawn in. This was somewhat tedious for experienced players. Guppycur's mod changed the trickle value to be spawning 50 zombies, instead of a single one. The original mod was a complete copy of the gamestages.xml. If someone had already modified their gamestages.xml, and wanted to include his changes, they would have had to manually merge, and update their XML with his changes. XPath Modlet for Guppycur's Blood Moon The following files would be copied into the game folder: Mods/BloodMoonTrickle/Config/gamestages.xml Mods/BloodMoonTrickle/ModInfo.xml Contents of the gamestages.xml: <configs> <!-- Updates the Game stages, under the BloodMoonHorde, to change the maxAlive to 50 for all nodes --> <!-- By default, it only looks at the the game stages that have a 4 element into it, so it doesn't kick in until gamestage 23 --> <set xpath="/gamestages/spawner[@name='BloodMoonHorde']/*/spawn[4]/@maxAlive">50</set> </configs> The xpath command is a set, meaning it's changing an existing value. Let's read it out: Under the <gamestages> node, look for the <spawner> code that's called "BloodMoonHode". The /*/ is a wild card match. You'll also notice that spawn[4] is different than anything else we covered. What is that reference? In some rare cases, we may not be able to write a properly formed xpath that targets the line we want. If the xpath is too general, it may make more changes than we intend. When that happens, we can fall back to using an index. In this case, we want to change the 4th spawn line. Here is vanilla's gamestage 64 entry: <gamestage stage="64"> <spawn group="feralHordeStageGS54" num="21" maxAlive="8" duration="2" interval="38" /> <spawn group="feralHordeStageGS59" num="21" maxAlive="8" duration="2" /> <spawn group="feralHordeStageGS64" num="21" maxAlive="8" duration="2" /> <spawn group="ZombiesNight" num="65" maxAlive="1" /> </gamestage> The spawn[4] references the 4th line, the ZombiesNight group. The reason I had to use the index value was because I did not want to change all the maxAlive's in the spawn group, only the 4th one. Earlier gamestages do not have a 4th line, so the change did not affect them. This gave the players more breathing room if their game stage was smaller. Localization Support ( A18 and Beyond ) As of A18, Localization support from the Mods folder is available in vanilla. In the Config folder, create a Localization.txt and a Localization - Quest.txt. This file must match case and spelling of the vanilla entries. The localization files files have a heading, like the vanilla version, as a comma delimited line. For mod localization support, you only need to specify the heading that you are adding. For example, if your mod only contains localization for English, you do not need to specify the other language in the heading line. If your new localization key matches a vanilla value, or a value from a previously loaded mod, then that value will be updated, with the last mod loaded having the final effect. The format of the file is this: HEADER ENTRY Example: Key,Source,Context,Changes,English myKey,UI,Item stat,New,This is my English Key Note: If you are only including non-English translation, such as French, and leave the English blank or out, then a user loading the Spanish version will get the localization key. This is because English is the fall back translation. If you specify an English, then the spanish player will see the English localization.
    1 point
  37. XPath Advanced Conditionals =========================== Up until now, we've just been covering how to find xpath using direct matches (@name='toolbelt'), but xpath can provide us with more flexibility. Most of the time, you will not need these advanced conditionals, but beware they exist for some more complex things you want to try. starts-with( s1, s2 ) - Matches if s1 starts with whatever word you put in s2. In this example, @name is s1, and 'zombieTemp' is s2 <set xpath="/entity_classes/entity_class[starts-with(@name, 'zombieTemp')]/property[@name='Class']/@value">EntityZombieSDX, Mods</set> ends-with( s1, s2 ) - Matches if s1 ends with whatever word you put in s2. In this example, @name is s1, and 'lateMale' is s2 NOTE: ends-with() is not currently supported in the version of xpath that is in the game. <set xpath="/entity_classes/entity_class[ends-with(@name, 'lateMale')]/property[@name='Class']/@value">EntityZombieSDX, Mods</set> contains( s1, s2 ) - Similar to starts-with, but s1 just needs to have some kind of match. <set xpath="/entity_classes/entity_class[contains(@name, 'Template')]/property[@name='Class']/@value">EntityZombieSDX, Mods</set> not - Flips the conditions around. <set xpath="/entity_classes/entity_class[not (contains(@name, 'zombie'))]/property[@name='Class']/@value">EntityZombieSDX, Mods</set> This would change every entity_class that does not contain the name zombie. Another example: <set xpath="/items/item[starts-with(@name, 'drinkJar') and not(contains(@name, 'Empty'))]/property[@name='Stacknumber']/@value">64</set> and - Multi conditions. We used this above in the magazine_items, but we didn't explicitly type it out. An examples mean the same thing: <set xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items' and @value='9mmBullet']/@value">9mmBullet,NoAmmo</set> or - Multi conditions, but only needs to match one. In the below example, it'll only make changes if the property name is magazine_items OR if the value is a 9mm bullet. <set xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items' or @value='9mmBullet']/@value">9mmBullet,NoAmmo</set>
    1 point
  38. Previously, we've just covered the set command to change individual values. The following commands are also supported in xpath. There may be more, but these are the ones that will cover most of our uses. <set xpath=""> - Allow you to change a value Example: This line changes loot container id 62, and changes it's size to 7,6. <set xpath="/lootcontainers/lootcontainer[@id='62']/@size">7,6</set> <append xpath=""> - This allows you to add whatever XML exists in between the <append> and </append>, at the end of the location in xpath, but still within its scope. You can use the append to add large chunks of XML nodes. Example: This line adds in a new entity to the bottom of the entity_classes. It will be added within the top level <entity_classes> </entity_classes> xml. <append xpath="/entity_classes"> <entity_class name="PassiveFlight" extends="animalChicken"> <!-- snip --> </append> - It also may allow us to append a value to an existing value. ( This needs testing ) Example: This line could potentially add NoAmmo to the existing value of 9mmBullet. <append xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items' and @value='9mmBullet']/@value">,NoAmmo</append> <insertAfter xpath=""> - Allows you to add nodes after the specified xpath. It finds the XML node you are searching for, and adds whatever is inside the <insertAfter> blocks after that. Example: The snippet bellow allows you to add in the new panel in the windowVehicleStats window, after the rect called 'content', in the XUi/windows.xml: <insertAfter xpath="/windows/window[@name='windowVehicleStats']/rect[@name='content']" > <panel pos="240, 0" style="header.panel"> <sprite style="header.icon" sprite="ui_game_symbol_add"/> <label style="header.name" text="COMBINE" text_key="xuiCombine"/> </panel> </insertAfter> <insertBefore xpath=""> - Same as insertAfter above, but adds in the new XML before the node that matches the specified xpath. <remove xpath=""> - Allows you to remove an XML node Example: This snippet was used in the ClearUI. It removed the HUDLeftStatBars from the UI. <remove xpath="/xui/ruleset[@name='default']/window_group[@name='toolbelt']/window[@name='HUDLeftStatBars']" /> <setattribute xpath=""> - Allows you to add a new attribute Example: This adds a new max_level attribute to the attribute with the name attPerception <setattribute xpath="/progression/attributes/attribute[@name='attPerception']" name="max_level">1000</setattribute> <removeattribute xpath=""> - Allows you to remove an attribute ( New in A18 ) Example: This will remove the value attribute <removeattribute xpath="/progression/attributes/attribute[@name='attPerception']/@value" />
    1 point
  39. Previously, we've covered the set command, that let us change individual values and attributes. I'd like to dedicate this section to the append command, since it will likely be the second most used xpath command. The append command can do two things: Add a large block of new XML, or add on an additional value.. [ Additional Value ] In the previous post, we covered how to add the NoAmmo mod using the set command. In that example, we had to also specify the existing value of, then add NoAmmo to it: <set xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items' and @value='9mmBullet']/@value">9mmBullet,NoAmmo</set> The append command can help us make this a little bit easier. Using append, we won't have to specify the existing value, but rather just what we want to add to it: <append xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items' and @value='9mmBullet']/@value">,NoAmmo</append> [ Additional Nodes ] The other way that append can help us is by adding larger blocks of code. I'll use a part of xyth's Junk Items mod to show where we can add multiple items to the items.xml. The xpath specifies append to the bottom of the /items node. This keeps it within the <items> </items> blocks, but adds it to the end of the file. Mods/JunkItems/Config/items.xml: <configs> <append xpath="/items"> <!-- items needed to scrap Xyth junk into --> <item name="itemMaster"> <property name="Meshfile" value="Items/Misc/sackPrefab" /> <property name="DropMeshfile" value="Items/Misc/sack_droppedPrefab" /> <property name="Material" value="organic" /> <property name="HoldType" value="45" /> <property name="Stacknumber" value="500" /> <property name="Weight" value="5" /> <property name="Group" value="Resources" /> <property name="SellableToTrader" value="false" /> </item> <item name="scrapSteel"> <property name="Extends" value="itemMaster" /> <property name="CustomIcon" value="ui_game_symbol_scrapSteel" /> <property name="Material" value="Msteel" /> <property name="Weight" value="1" /> <property name="MeltTimePerUnit" value="0.5" /> <property name="RepairAmount" value="10" /> </item> </append> </configs> Note that we are closing the </append> at the end of the items we are adding.
    1 point
  40. XPath Dissected XPath may look a bit intimidating to people unfamiliar with the syntax. Let's see if we can go through an example explaining the format of a simple xpath. To start off, we'll be using the xpath command for set, which lets us change an attribute, or value. Another post will show more of xpath commands, but we'll begin with the simplest. All of the xpath commands take an xpath="" parameter that tells the game where you want to make a change. A change is either changing a value, removing a value, adding a new entity, or whatever you are trying to do. For this example, we want to change the size of the minibike container. <lootcontainers> <!-- Other loot container lines --> <!-- minibike storage --> <lootcontainer id="62" count="0" size="4,3" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="baseTemplate"> </lootcontainer> <!-- other loot container lines --> </lootcontainers> We need to be able to identify the XML node we want, as precisely as we can. Since the lootcontainers' contain an ID, we'll see that as our target. We want to actually change the size attribute, but it's not unique enough to find directly. We want to give xpath the direct path to there we want to make a change at. When we want to reference the XML nodes in xpath, we'll use the / separator. [highlight]xpath="/lootcontainers/lootcontainer" [/highlight] gets us pretty close. However, there are a lot of lootcontainters, and we only want to change the one with the ID of 62. The ID is an attribute, so we'll have to set a condition to check to make sure the attribute matches 62. [highlight]xpath="/lootcontainers/lootcontainer[@id=62][/highlight] gets us to the right loot container. There's no other lootcontainer with an id of 62, so we won't run the risk of changing more than we want. But we wanted to change the size attribute specifically. [highlight]xpath="/lootcontainers/lootcontainer[@id=62]/@size"[/highlight] gives us direct access to the value in size. So our full set xpath command would look like this: <set xpath="/lootcontainers/lootcontainer[@id='62']/@size">7,6</set> Here's another example. This time, we want to add a new ammo type called "NoAmmo" to the gunPistol. With the loot container, we only wanted to modify a single container. For the ammo type, we want to add NoAmmo to every gun that uses 9mmBullet. There could be a single gun for that, or there could be multiple guns that use it. Either way, we want to change them all. Since we are changing all guns that uses 9mmBullet, we don't have to specify an ID or name. Instead, we'll be looking for every Magazine_items that also has a value of "9mmBullet". Here's a snippet of the XML. To save space, I removed the extra lines, and left just the ones we want to see. <items> <item id="40" name="gunPistol"> <!-- snip --> <property class="Action0"> <!-- snip --> <property name="Magazine_items" value="9mmBullet" /> </property> </item> </items> Here's the full xpath code: <set xpath="/items/item/property[@class='Action0']/property[@name='Magazine_items'][@value='9mmBullet']/@value">9mmBullet,NoAmmo</set> For every item that has a property class of "Action0", that has a property called "Magazine_Items" with a value of 9mmBullet, change the value to 9mmBullet,NoAmmo Note the [highlight] [@name=Magazine_items][@value=9mmBullet][/highlight] ? We are telling xpath that the property name has to be Magazine_Items, AND its value has to be 9mmBullet, before we add NoAmmo. Why do we need to check the property name and its value? Because of things like the paintTool item, which has a Magazine_items with a value of paint. We don't really need to change that one.
    1 point
  41. looking forward to the mod you make to "correct" that feature once A20 hits
    0 points
  42. Ahhhhhh yes. I see it now. Was just looking at the recipe within the UI itself and that was still locked. Just looked at the Hunting Rifle crafting skill and saw that it requires gun crafting 1, so I just put a point in that just to make sure and that was indeed what I was missing. So thank you!
    0 points
  43. I don't know what item I got the duct tape from next playthrough, but it was at the STARTING location, where there's a house, mailbox, car, and some crap lying around the car. There's a few locations like that. Take it up with that. And while it's fuzzy in my memory, it's possible I was given glue, and considered that duct-tape in my rant, because it's the same damned thing. 1:1 glue:duct-tape with some cloth which is easy to find. But thanks for clarifying why that loot wasn't dropped by loot bags, but usually Duct Tape is discoverable at a trader, wasn't able to find them in two traders, even with restock set to 3 days. Also, the random crap lying around that you pick through when travelling. I think you're a little confused. 7days FORCES you to do CERTAIN things to progress. That's the opposite of a sandbox. ARK is still (sadly) king of Sandbox games, you can get to end game eating your own crap in that game if you play it right. It literally has 1001 playstyles. 7 days, not so much, and has a VERY LINEAR progression tree, as was just further evidenced by Colony Founder. It's still fun, but what I want is MORE FREEDOM to do MORE THINGS. Not less, or have it be "easier". In ARK I can pump-up my O2 attribute, swim hella fast, recharge stamina with a chair, and defeat people with a primitive bow and escape into the ocean where they CAN'T follow because they skilled-up .... strength and melee let's say. Or I can pump-skills into running and outrun everyone and murder people/dinos from a parachute. Can you do that in 7days? No, because I need to get a forge and the paths to get it are limited and the same for everyone else. Different games, different feels, etc., but I'm not in the wrong here. It's frustrating to have to do things a CERTAIN way. I'm used to having more latitude, not less.
    0 points
×
×
  • Create New...