Jump to content

Kubikus

Members
  • Posts

    646
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Kubikus

  1. While I kinda swore myself not to mod again before the game's going gold (too much work gone down the toilet), I actually did some modding yet again. Here's a neat concept I'm currently using in my arcade mod:

     

    One group of radiated zombies that have a long respawn delay, so you can clear them out and then they're gone (for a while).

    One group of feral zombies that have a short delay, so you can clear them out for a day.

    One group of easy zombies that have none and will spawn constantly (delay set to zero).

     

    Might be neat to make it so that you can clear out particularly dangerous zombies for good (delay set to 300) but keep easy zombies around (never-runners for example).

  2. I've never tried; have you tried <remove xpath="/recipes/recipe[@name=foodGrilledMeat]/@tags" /> ?
    I did now, but it returns an error.

     

    Here is another problem:

     

    	<buff name="buffReloadMovementPenalty" name_key="Reloading" icon="ui_game_symbol_pack_mule" icon_color="255,128,0" hidden="true">>
    	<stack_type value="ignore"/>
    	<damage_type value="stun"/>
    	<duration value="7"/>
    	<effect_group>
    		<triggered_effect trigger="onReloadStop" action="RemoveBuff" buff="buffReloadMovementPenalty"/>
    	</effect_group>
    
    	<effect_group>
    		<requirement name="ProgressionLevel" progression_name="perkRunAndGun" operation="Equals" value="0"/>
    			<passive_effect name="WalkSpeed" operation="perc_subtract" value=".5"/>
    			<passive_effect name="RunSpeed" operation="perc_subtract" value=".5"/>
    			<passive_effect name="JumpStrength" operation="perc_subtract" value=".5"/>
    	</effect_group>
    	<effect_group>
    		<requirement name="ProgressionLevel" progression_name="perkRunAndGun" operation="Equals" value="1"/>
    			<passive_effect name="WalkSpeed" operation="perc_subtract" value=".4"/>
    			<passive_effect name="RunSpeed" operation="perc_subtract" value=".4"/>
    			<passive_effect name="JumpStrength" operation="perc_subtract" value=".4"/>
    	</effect_group>
    	<effect_group>
    		<requirement name="ProgressionLevel" progression_name="perkRunAndGun" operation="Equals" value="2"/>
    			<passive_effect name="WalkSpeed" operation="perc_subtract" value=".3"/>
    			<passive_effect name="RunSpeed" operation="perc_subtract" value=".3"/>
    			<passive_effect name="JumpStrength" operation="perc_subtract" value=".3"/>
    	</effect_group>
    	<effect_group>
    		<requirement name="ProgressionLevel" progression_name="perkRunAndGun" operation="Equals" value="3"/>
    			<passive_effect name="WalkSpeed" operation="perc_subtract" value=".2"/>
    			<passive_effect name="RunSpeed" operation="perc_subtract" value=".2"/>
    			<passive_effect name="JumpStrength" operation="perc_subtract" value=".2"/>
    	</effect_group>
    	<effect_group>
    		<requirement name="ProgressionLevel" progression_name="perkRunAndGun" operation="Equals" value="4"/>
    			<passive_effect name="WalkSpeed" operation="perc_subtract" value=".1"/>
    			<passive_effect name="RunSpeed" operation="perc_subtract" value=".1"/>
    			<passive_effect name="JumpStrength" operation="perc_subtract" value=".1"/>
    	</effect_group>
    </buff>

    I want to reduce the values for WalkSpeed and RunSpeed and JumpStrength. But it seems that I can't adress them because there are multiple effect_groups, these two don't work:

     

    <set xpath="/buffs/buff[@name='buffReloadMovementPenalty']/effect_group/requirement[@value='0']/passive_effect[@value='.5']/@value">0.005</set>
    
    <set xpath="/buffs/buff[@name='buffReloadMovementPenalty']/effect_group/requirement[@value='1']/passive_effect/@value">0.004</set>

    (The values are that low to test if it certainly works.)

     

    Is there a solution besides removing the complete buff and appending buffs with the modded one?

  3. Here's a question:

     

    <recipe name="foodGrilledMeat" count="1" craft_area="campfire" craft_tool="toolCookingGrill" tags="learnable">
    <ingredient name="foodRawMeat" count="5"/>
    </recipe>

    I only want to remove

     

    tags="learnable"

    Is it possible? If I set it to "0" it still unlocks the recipe, but... Maybe there are cases where I can't do that. And it's kinda ugly.

     

    Of course I looked for a solution already, but didn't find anything.

  4. Probably something like this:

     

    <remove xpath="/blocks/block[@name='woodFrameWedge']/property[@name='MaxDamage']" />
    <append xpath="/blocks/block[@name='woodFrameWedge']">
         <property name="MaxDamage" value="75" >
    </append>
    

     

    If you aren't appending specifically to a value, but rather an entirely new line, it'll be the slightly longer format.

    Ah, yes, my mistake, you had explained that already. Thanks.
  5. Yes and thats possible in xpath using operators, queries and stringlen checks, but as said, the pimps implementation is what has to support it. Depending if they implement that sort of advanced usage, we will be able to use. We will have to wait and see.

     

    Cheers

    If you know how exactly the command would have to look for that, might you provide an example..? I (briefly) looked into other tutorials and could not find what I'm looking for.

     

    If the game won't support such stuff, it should be a good idea to find something that does, I find an option like this fairly essential. How does it work anyway, what turns the commands into actual xml-code? I'm not much of a programmer, so I don't know what's it called, a compiler? Interpreter? If the game can't do, are there stand alone programs available or easy to make?

     

     

    Edit: I have, btw, understood that whatever the game uses will not even put out any actualy xml-files anymore. But I assume there are such programs, so... No confusion plz.

  6. Can be done by using operators. TheElement[not(@attribute= 'whatevervalue')]

     

    This will skip (or use depending on what you want) elements that do not contain the attribute or contain it but dont have expected value.

     

    Cheers

     

    -edit- all depending on xpath functions implemented by TFP of course.

    I don't want it to skip if the property is already there. If it's already there, the value should be changed. If the property is not already there, it should be added with the value. For example:

     

    <block id="150" name="woodFrameWedge">
    <property name="Extends" value="woodFrameMaster"/>
    <property name="CreativeMode" value="Player"/>
    <property name="Shape" value="New"/>
    <property name="Model" value="wedge60"/> <property name="Place" value="TowardsPlacerInverted"/>
    <property name="CanPickup" value="true"/>
    <property class="UpgradeBlock"> <property name="ToBlock" value="woodWedge"/>	</property>
    </block>

    This one has no "MaxDamage" property. It should be added with the value I want like so:

     

    <block id="150" name="woodFrameWedge">
    <property name="MaxDamage" value="75"/>
    <property name="Extends" value="woodFrameMaster"/>
    <property name="CreativeMode" value="Player"/>
    <property name="Shape" value="New"/>
    <property name="Model" value="wedge60"/> <property name="Place" value="TowardsPlacerInverted"/>
    <property name="CanPickup" value="true"/>
    <property class="UpgradeBlock"> <property name="ToBlock" value="woodWedge"/>	</property>
    </block>

    This one already has the property (it does not actually, but let's say):

     

    <block id="830" name="woodHalf">
    <property name="MaxDamage" value="100"/>
    <property name="Extends" value="woodMaster" />
    <property name="Shape" value="New" />
    <property name="Model" value="cube_half" />
    <property class="UpgradeBlock"> <property name="ToBlock" value="rWoodHalf" /> </property>
    <property name="DowngradeBlock" value="solidWoodFrameHalf" />
    </block>

    And in this case, I want the command to change the value, like so:

     

    <block id="830" name="woodHalf">
    <property name="MaxDamage" value="50"/>
    <property name="Extends" value="woodMaster" />
    <property name="Shape" value="New" />
    <property name="Model" value="cube_half" />
    <property class="UpgradeBlock"> <property name="ToBlock" value="rWoodHalf" /> </property>
    <property name="DowngradeBlock" value="solidWoodFrameHalf" />
    </block>

    And what I don't want is something like this:

     

    <block id="830" name="woodHalf">
    <property name="MaxDamage" value="50"/>
    <property name="MaxDamage" value="100"/>
    <property name="Extends" value="woodMaster" />
    <property name="Shape" value="New" />
    <property name="Model" value="cube_half" />
    <property class="UpgradeBlock"> <property name="ToBlock" value="rWoodHalf" /> </property>
    <property name="DowngradeBlock" value="solidWoodFrameHalf" />
    </block>

    Same property twice.

     

    So I don't want to have to check wether the property exists or not.

  7. Good tut.

     

    I have a question. Here is a set of commands I've converted to xpath. Now, if the property "MaxDamage" is not in the xml for the block with the name @name='so-and-so', will it automatically be added or nah? If nah, is there a function that will only add the property if it's not there already? And if there is no way to automatically add it only if it's not there, what if I added the property to a block that already has it, would my addition overwrite the existing property or add it a 2nd time (which should be illegal)?

     

    Is there, in other words, a method that will either change a property, or, if the property does not even exist, add it, so I do not have to know if it's there or not?

  8. It's already there. Just have a look at the title bar of the program or at the info tab. :)

     

    Nice. If you could add the block-id to the title bar, that would be perfect. I also did "find" the tabs in the edit window now. I also found the replace-function, obviously a must-have. Replacing blocks for all prefabs in a folder would be helpful too, for example in my situation, where I want to replace all loot-containers for a couple of prefabs. It also made me think about replacing all sleepers with the "idle"-version, which I assume is a standing sleeper, that should be the fastest to attack, as it does not have to get up first.

     

    I am not sure if that works if there are too many blocks in one class.

     

    I don't know how many "too many" are, but in most cases, which is actually whenever a block has a class-property, there are not that many of a class. I guess the largest number would be "loot". It's just a convenience thing, though.

     

    Ways to find certain blocks in a prefab are always good, not just the class, but also, for example, rotation, material, shape, and so on. A "find" or "highlight"-tab in the edit window would be great, with an interface with checkboxes and drop downs about what you want to find. Consider adding that to the bottom of your todo-list.

     

    It's relatively hard to implement since you can change or even delete each block within one step. So if you're working with a very large prefab, you get memory issues. I am already working on the problem.
    Every bit helps, if it would at least undo a single misclick, that would already be a good start.

     

    sounds like a minor bug
    I'd assume it's mostly a bug in notepad, I had that issue before with files, seems like there are two ways to indicate a line break and notepad only knows one.

     

    There is a file extension filter in the save and load dialog. You shouldn't be able to do that.
    I copied the filename over from the biomes.xml into the file open dialoge and the .mesh, the .xml and the .tss were suggested. I misclicked. It's obviously not the biggest of deals, since one would only open a new prefab when the one they worked on before is saved. But... A flaw is a flaw is a flaw, right.

     

    I don't get it. What? ^^
    Brush size, Density, Circle and "Square".

     

    One more thing: The list of textures in the edit window is very small. Would be nice if it were bigger, a pop out maybe.

  9. I've installed this now as well, here's some feedback:

     

    Tooltips.

     

    I have made copies of a couple of prefabs and use them as terrain decoration. Now I want to remove lootcontainers from these prefabs. To find them, I have to click every block and get the info what it is. It should show me what it is on a simple mouseover.

     

    Editing has already been mentioned: Having to click back and forth between the arrow-button and the pen-button is very tedious.

     

    It would be great to have a function that will highlight all blocks with a certain class. Or (potentially better) have certain colors for certain classes, like "loot" are different shades of green, "door" shades of blue, etc.

     

    A "replace block ID x with block ID y" function has proven to be very (extremely) useful.

     

    The program also needs an "undo"-function.

     

    I accidently tried to open an .xml-file instead of the .tts: Program crashed.

     

    When I open the xml-file produced by the program when I save the prefab with notepad under windows 7, the content is in one line and has no line-breaks. It is nicely formated in Notepad++.

     

    "Square". ;-P

     

    Other than that, what I've tested works fine, the changes I made show up, painting works. If you improve the usability, it's going to be a fine program. The side-view-option is a nice touch.

  10. I currently have the hub sitting in navesgane, I'm not sure if it's gonna be possible to put it back into random gen at this point in a neat and tidy way. I'll make something available by the end of the experimental period, the project is in a state of flux atm while I consider a bunch of different options.

     

    The previewer seems to work fine, throws us a bone of hope that there's a bug elsewhere which could end up being fixed.

    I suspect the world generator demands to have the new code, have a look:

     

    https://7daystodie.com/forums/showthread.php?64530-Custom-hub-no-longer-possible-(-(-))&p=660536&viewfull=1#post660536

     

    I have not tried, maybe if you have the street_gen-stuff in, you can even place roads and prefabs as pre-A16. I doubt it though.

  11. The custom hub layout code at the bottom of the rwgmixer has a few example of how to manually place streets (roads) and prefabs/prefab lots and you can always download the project itself to see what I've done in the mixer. The short answer is yes but the custom hub layout is causing errors and cannot be used ingame, this may or may not be fixed in future but until it does the only way to get away with the 'prefab grid' technique is in navezgane atm.
    Ah ok.. Yeah I know how it worked before, actually I had, several alphas ago, used your files as a tutorial to get into it.

     

    I thought you had found a way to make what worked in A15 work in A16.. I guess you only used the previewer to get the preview, but it does not work ingame, and to get it ingame, you used a tool to spawn the buildings..?

  12. Still a lot of work to do but the first version of the distant terrain meshes are complete, the views are amazing, the pimps really done a nice job with this feature and big thanks to hal for getting the commands to us.

     

    Business district

     

    A view down the highway

     

    In-game previewer view

     

    Basketball arena/southside

     

    Long view, the skyscraper is approx 960-1000m away

    Looks gorgeous! And how did you do this:

     

    http://steamcommunity.com/sharedfiles/filedetails/?id=949297625

     

    ? Is there a way to create hubs exactly like you want to, with placing prefabs and whatnot? If so, how does it work - and how did you figure that out??

  13. I like common sense too, this is my solution: Trees drop logs (only when the tree is actually felled, throughout the cutting process, it occasionally drops branches). A log can be crafted into a crude workstation, that is basically just a base/support and denies crafting in your backpocket. The workstation can be equipped with a stone axe, that cuts crude woodplanks from the logs. These can then be crafted into crude wood frames, weaker and with a lower maxload (a crude wood frame has 50 hitpoints and can hold two more frames, while the regular frame has 100 hitpoints, holding another five). The crude wood frame can be upgraded once to an equally weak crude wood block (again with the crude wood planks). Also, the stone axe cuts less (crude) wood planks from a log than a saw. The saw, though, cuts the log into flawless wood planks, that can be used to craft regular frames.

     

    The whole "crude"-branch (it's also it's own material "wood_crude" ) simulates the limitations that the early game stone axe has compared to proper iron tools in the later game.

×
×
  • Create New...