Jump to content

Unofficial XML Fixes


Clockwork Orange

Recommended Posts

For the record I only asked out of courtesy since some modders lose their ♥♥♥♥ if you as much as hint at using something of theirs without asking first. It was to avoid possible drama, not for legal or "copyright" issues. Funny though that still lead to a copyright discussion to some. Damned if you do damned if you don't.

 

Lool yeah, I mean the only real reason for stating on the main post that anyone can use it is so that people like you and me who do feel the need to ask can have that answered for them promptly without having to ask. That way it will set anyone's mind at ease if they want to use it.

 

I cant stress enough how much I want everyone to use this especially modders to base there mods off of so that all this work feels worth something, cause this is a lot of work lol :)

Link to comment
Share on other sites

What would be even better is if Madmole was to incorporate these fixes officially.

 

Or an even better solution that that - fix it so the repair property properly extends. That alone would fix a lot of issues this mod has had to addressed. Not all, mind you, (the spawning fixes seem pretty critical to me and explains why everyone on my server kept complaining about low spawn) but still the blocks.xml seems to be the largest one in need for sweeping up.

Link to comment
Share on other sites

What I am trying to understand is alot of this stuff was working fine in alpha 12.5, how did they manage to screw up so bad and break things that were fine, I mean alot of that stuff shouldn't have even been touched going from alpha 12.5 to 13.6, yet its somehow all messed up.

Link to comment
Share on other sites

What would be even better is if Madmole was to incorporate these fixes officially.

 

Or an even better solution that that - fix it so the repair property properly extends. That alone would fix a lot of issues this mod has had to addressed. Not all, mind you, (the spawning fixes seem pretty critical to me and explains why everyone on my server kept complaining about low spawn) but still the blocks.xml seems to be the largest one in need for sweeping up.

 

Yeah I really hope he just takes these files and uses them because even if a few things get missed then I may as well just keep using these files over the ones updated by TFP.

 

The game and TFP would be much better off to just use these files directly and then make changes from there if needed, rather than trying to make all these changes and not miss anything then try to make other changes that they might want to make themselves.

Link to comment
Share on other sites

No offense taken I appreciate the feedback, however those changes I feel will never be "acknowledged" as fixes by TFP so someone will have to take the liberty to do so otherwise we will be stuck with broken mechanics that are not "acknowledged" as broken.

 

A good example is the post made by Gaz about the armor defense numbers needing adjusting, I have yet to decide to make those changes as I do not understand fully how they effect the armor and need more feedback on that matter specifically.

 

The main problem is that those types of changes are not going to be on any priority list for TFP to fix as they have much bigger fish to fry when it comes to bug fixes than simple xml fixes.

 

What should be done? Should I change the zombie per biome back to 1 instead of 3, for eg? I fear that if I do this then settings for zombie spawning might not have any effect since they are stated as percentage based for eg very high is 150% so having them set to anything lower than 2 will result in no change when adjusting those settings in game (except for hoards).

 

And toilet loot container is a non issue and should not matter either way but does feel like more of a "fix" in the end anyways.

 

one change that has been made for awhile is the change of the fireaxe to be a mining tool rather than bladed weapon as everyone seems to have no issue with that as being considered a fix simply because it is a tool and not a weapon, that is what the machete is for. And the fireaxe should scale block damage rather than entity.

 

The only change I have made that might be considered a bit questionable is the stamina drain of shovels and I can change that back but everyone should be able to admit that those adjustments are more of a fix than just a change as well (just like the fireaxe change) when compared to mining.

 

Fair enough. :-)

 

The spawn numbers were referred to by Madmole that he changed it so the zombies are not spawning randomly all over the place anymore, but where there's actually something like a POI. I do agree with this, but of course at the moment there are no POI spawns, so I do understand the change from that point of view. I tried having 0,1 and 0,2 in the spawns, but it doesn't seem to work that way. Maybe I didn't test it extensively enough though.

 

Container sizes I couldn't care less about, but again why change it if it didn't really need changing? I always go with the original values if possible personally, unless there is a pressing reason for a change, like completely wrong values. I would rather go and change the enormous secure storage chests to the old sizes myself, but I don't think that would be so popular... ;-P Maybe I should actually do that for my own game...

 

Fireaxe into a tool I do understand too, but I have used it as a bladed weapon for over a year myself... :-)

 

As for stamina values, I would not touch those, unless hugely wrong, making something either unusable, or close to it. I don't think balancing should be in a fixes mod. Just my opinion.

The shovel needing more than a pickaxe is actually logical, as pickaxe you swing, but with a shovel you have to lift the earth you dig out of the hole. From experience digging takes a lot more effort than either of the other activities.

 

 

Thank you for the in-depth reply, it shows you give a lot of thought to this. :-)

Link to comment
Share on other sites

For the record I only asked out of courtesy since some modders lose their ♥♥♥♥ if you as much as hint at using something of theirs without asking first. It was to avoid possible drama, not for legal or "copyright" issues. Funny though that still lead to a copyright discussion to some. Damned if you do damned if you don't.

 

That's how the "modding scene" is, sadly. I don't mean just 7DtD, but all games I have ever modded. Shared efforts are mostly big mod projects, which in turn jealously guard their secrets, so they are not really shared at all. I'm very glad the sharing is happening here. I also don't care who does things first, but the original "inventor" should always be credited, if known. Even if they never made the idea into an actual mod. Just typing someones idea with a keyboard isn't hard (tedious and sometimes a lot of work though), coming up with the ideas is. :-)

I get my pleasure in modding from coming up with ideas nobody has ever thought of, or said it would be impossible to do. :-)

 

As for copyrights, I don't think any court in the world would take a case between two modders in... They would probably laugh them out... Then again, how does it make it more worthy working on something for money, than for free? It's completely different when it comes to art though, those are much easier to prove you made them... Code is practically impossible, unless we talk about a very long piece of code, and not even then always.

Link to comment
Share on other sites

formatting for this is borked up very badly when you use winmerge to compare files. Instead of every change being just in red or yellow the whole file is red or yellow. THIS makes it extremely difficult to make changes to xml files when the formatting is changed like that.

Link to comment
Share on other sites

Applying the changes to the red, yellow and white cars made them unharvestable. They only could be destroyed the old fashioned way.

 

Seems the <property name="Extends" value="car03Blue" /> doesn't work properly. After copying all content from block 1453 (car03blue) to the blocks 1456, 1458 and 1460 and changing the value car03BlueDamage1 entry in the Fall and DowngradeBlock events to the respective color it works for our server.

Link to comment
Share on other sites

Seems the <property name="Extends" value="car03Blue" /> doesn't work properly.

Or maybe you're doing it wrong. =)

 

This works fine on my server.

 

 

 <block id="1453" name="car03Blue">
   <property name="Material" value="metal" />
<property name="Class" value="Loot" />
   <property name="LootList" value="19" />
   <property name="Shape" value="ModelEntity" />
   <property name="Texture" value="26" />
   <property name="IsTerrainDecoration" value="true" />
   <property name="Place" value="TowardsPlacer" />
   <property name="Model" value="Entities/Vehicles/car03_blue_dmg0_Prefab" />
   <property name="MultiBlockDim" value="2,2,6" />
<drop event="Harvest" name="glass" count="1,4" prob="0.2" tool_category="Disassemble" />
<drop event="Harvest" name="shortMetalPipe" count="5" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="gasCan" count="20,40" prob="0.4" />
<drop event="Harvest" name="headlight" count="1" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="cloth" count="5" />
<drop event="Harvest" name="leather" count="2" prob=".5"/>
<drop event="Harvest" name="leather" count="1" tool_category="Disassemble" />
   <drop event="Destroy" name="scrapIron" count="2,4" prob="1" />
<drop event="Harvest" name="scrapIron" count="2" tool_category="Disassemble" />
   <drop event="Fall" name="car03Damage2" count="1" prob="1.0"  stick_chance="1" />
<property name="DowngradeBlock" value="car03BlueDamage1" />
<property name="BigDecorationRadius" value="5" />
<property name="CanDecorateOnSlopes" value="false" />
 </block>

 <block id="1454" name="car03BlueDamage1">
   <property name="Material" value="metal" />
<property name="Class" value="Loot" />
   <property name="LootList" value="19" />
   <property name="Shape" value="ModelEntity" />
   <property name="Texture" value="26" />
   <property name="IsTerrainDecoration" value="true" />
   <property name="Place" value="TowardsPlacer" />
   <property name="Model" value="Entities/Vehicles/car03_blue_dmg1_Prefab" />
   <property name="MultiBlockDim" value="2,2,6" />
<drop event="Harvest" name="smallEngine" count="1" prob="0.2" tool_category="Disassemble" />
<drop event="Harvest" name="carBattery" count="1" prob="0.2" tool_category="Disassemble" />
<drop event="Harvest" name="radiator" count="1" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="oil" count="2" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="cloth" count="3" />
<drop event="Harvest" name="spring" count="2,6" tool_category="Disassemble" />
<drop event="Harvest" name="leather" count="2" prob=".2"/>
<drop event="Harvest" name="cloth" count="2" prob="0.2" tool_category="Disassemble" />
<drop event="Harvest" name="scrapIron" count="4" prob="1.0" />
<drop event="Harvest" name="scrapIron" count="3" tool_category="Disassemble" />
   <drop event="Destroy" name="scrapIron" count="2,3" prob="1" />
   <drop event="Fall" name="car03Damage2" count="1" prob="1.0"  stick_chance="1" />
<property name="DowngradeBlock" value="car03Damage2" />
<property name="BigDecorationRadius" value="5" />
<property name="CanDecorateOnSlopes" value="false" />
 </block>

 <block id="1455" name="car03Damage2">
   <property name="Material" value="metal" />
   <property name="Shape" value="ModelEntity" />
   <property name="Texture" value="26" />
   <property name="IsTerrainDecoration" value="true" />
   <property name="Place" value="TowardsPlacer" />
   <property name="Model" value="Entities/Vehicles/car03_dmg3_Prefab" />
   <property name="MultiBlockDim" value="2,2,6" />
<drop event="Harvest" name="shortMetalPipe" count="5" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="gasCan" count="20" prob="0.3" />
<drop event="Harvest" name="headlight" count="1" prob="0.5" tool_category="Disassemble" />
<drop event="Harvest" name="spring" count="1" prob="0.2" tool_category="Disassemble" />
<drop event="Harvest" name="scrapIron" count="4" prob="1" tool_category="Disassemble"/>
   <drop event="Destroy" name="scrapIron" count="1,2" prob="1" />
   <drop event="Fall" name="scrapMetalPile" count="1" prob="1.0"  stick_chance="1" />
<property name="BigDecorationRadius" value="5" />
<property name="CanDecorateOnSlopes" value="false" />
 </block>

 <block id="1456" name="car03Red">
   <property name="Extends" value="car03Blue" />
   <property name="Model" value="Entities/Vehicles/car03_red_dmg0_Prefab" />
<property name="DowngradeBlock" value="car03RedDamage1" />
 </block>

 <block id="1457" name="car03RedDamage1">
   <property name="Extends" value="car03BlueDamage1" />
   <property name="Model" value="Entities/Vehicles/car03_red_dmg1_Prefab" />
 </block>

 <block id="1458" name="car03Yellow">
   <property name="Extends" value="car03Blue" />
   <property name="Model" value="Entities/Vehicles/car03_yellow_dmg0_Prefab" />
<property name="DowngradeBlock" value="car03YellowDamage1" />
 </block>

 <block id="1459" name="car03YellowDamage1">
   <property name="Extends" value="car03BlueDamage1" />
   <property name="Model" value="Entities/Vehicles/car03_yellow_dmg1_Prefab" />
 </block>

 <block id="1460" name="car03White">
   <property name="Extends" value="car03Blue" />
   <property name="Model" value="Entities/Vehicles/car03_white_dmg0_Prefab" />
<property name="DowngradeBlock" value="car03WhiteDamage1" />
 </block>

 <block id="1461" name="car03WhiteDamage1">
   <property name="Extends" value="car03BlueDamage1" />
   <property name="Model" value="Entities/Vehicles/car03_white_dmg1_Prefab" />
 </block>

 

 

Link to comment
Share on other sites

formatting for this is borked up very badly when you use winmerge to compare files. Instead of every change being just in red or yellow the whole file is red or yellow. THIS makes it extremely difficult to make changes to xml files when the formatting is changed like that.

 

How do you make winmerge color the changes red if you could please share

Link to comment
Share on other sites

What I am trying to understand is alot of this stuff was working fine in alpha 12.5, how did they manage to screw up so bad and break things that were fine, I mean alot of that stuff shouldn't have even been touched going from alpha 12.5 to 13.6, yet its somehow all messed up.

 

 

I disagree. A13 changed a ton with new features and mechanics, there was not a "alot" of stuff that shouldn't have been touched.

 

Recipes? Completely rewritten. Bless the loss of that horrible grid.

Blocks? Completely rewritten (as this mod demonstrates the need) because now they can extend and have repair costs.

Items? We have skills now so lots of adjustments. New crafting values aswell for the new timer calculations.

 

 

If anything this mod, imo, proves that the pimps didn't change the files ENOUGH from A12.5 to A13.6

 

Can you explain the reason for this change?

 

Recipes:

commented out: "cobblestoneRampFrame" and added "cobblestoneWedge" recipe

 

Thanks. Great work btw.

 

Speculation on my part: For a long time (pre A13) there have been reports from some players getting null references and game-breaking bugs from the cobblestonerampframe. Switching to the wedge lets them still essentially use the the same block but jump over the step that caused so many people grief.

 

I never experienced the problem myself though so this is just my speculation.

Link to comment
Share on other sites

Update (1/7/16)

 

+Blocks

 

Fixed cars not being harvested properly because of my added fall code, all cars will have to revert to <drop event="Fall" name="car03BlueDamage1" count="1" prob="1.0" stick_chance="1" /> from being extended.

 

<block id="1456" name="car03Red"> Removed <drop event="Fall" name="car03RedDamage1" count="1" prob="1.0" stick_chance="1" />

 

<block id="1458" name="car03Yellow"> Removed <drop event="Fall" name="car03YellowDamage1" count="1" prob="1.0" stick_chance="1" />

 

<block id="1460" name="car03White"> Removed <drop event="Fall" name="car03WhiteDamage1" count="1" prob="1.0" stick_chance="1" />

 

<block id="900" name="plantedCornSeed"> Changed <property name="PlantGrowing.FertileLevel" value="1" /> from 0 you can no longer grow corn on anything

 

 

 

+Items

 

<item id="404" name="shades"> Changed <property name="Material" value="metal" /> --> from cloth since they are repaired with forged iron they can now be placed into the forge to yield 1 unit of iron

 

Fixed Infinite brass exploit from bullets

 

<item id="321" name="9mmBullet"> Changed <property name="Weight" value="1" /> --> from 5

 

<item id="322" name="10mmBullet"> Changed <property name="Weight" value="1" /> --> from 5

 

<item id="323" name="762mmBullet"> Changed <property name="Weight" value="1" /> --> from 5

 

<item id="394" name="44MagBullet"> Changed <property name="Weight" value="1" /> --> from 5

Link to comment
Share on other sites

Fair enough. :-)

 

The spawn numbers were referred to by Madmole that he changed it so the zombies are not spawning randomly all over the place anymore, but where there's actually something like a POI. I do agree with this, but of course at the moment there are no POI spawns, so I do understand the change from that point of view. I tried having 0,1 and 0,2 in the spawns, but it doesn't seem to work that way. Maybe I didn't test it extensively enough though.

 

Container sizes I couldn't care less about, but again why change it if it didn't really need changing? I always go with the original values if possible personally, unless there is a pressing reason for a change, like completely wrong values. I would rather go and change the enormous secure storage chests to the old sizes myself, but I don't think that would be so popular... ;-P Maybe I should actually do that for my own game...

 

Fireaxe into a tool I do understand too, but I have used it as a bladed weapon for over a year myself... :-)

 

As for stamina values, I would not touch those, unless hugely wrong, making something either unusable, or close to it. I don't think balancing should be in a fixes mod. Just my opinion.

The shovel needing more than a pickaxe is actually logical, as pickaxe you swing, but with a shovel you have to lift the earth you dig out of the hole. From experience digging takes a lot more effort than either of the other activities.

 

 

Thank you for the in-depth reply, it shows you give a lot of thought to this. :-)

 

Yeah the spawning change for biomes is most definitely needed especially since using the game options for increased spawns will not have any effect if set any lower as well as the fact that poi and city spawns are not working properly atm and this helps fix that for now. Once poi and city spawns are fixed and if these fixes dont get transferred 100% I will look into seeing if changing them back to 1 is something that should be done. However the issues of game settings for zombie spawns will still stand.

 

The container size change is simply a fact that when TFP were copy and pasting code to get the patch out they simply overlooked the size change and I can almost guarantee you MadMole will agree that the toilet size change is in fact a fix. It is a toilet bowl after all and its size now looks correct in comparison to the object we are dealing with.

 

As for stamina values, the shovels still take more stamina than the pickaxe but I strongly feel that this change is something that needs to be considered a fix. If you test these numbers for yourself I am confident you would agree and I can only hope TFP will look into this as well and agree.

 

I hope you can think this over more and come to agree with me on this, since this thread is the voice of the community as a whole in letting TFP know what we as dedicated players see as needing to be done to fix the game.

Link to comment
Share on other sites

If Winmerge hickups on spaces or whitespace, set it to ingore those on comparisons. It has options, you know. =P

 

I have been using notepad + and a plugin to compare xmls, but i never heard of winmerge. Thank you so much! You have saved me much headache and grief in the future.

 

This thread should be stickied. I also hope in the future more modders use this as a base. All of the repairable blocks alone makes it worth it.

Link to comment
Share on other sites

Not sure if its intended (or if it even matters) but doesn't sound right:

 

Zombies with <property name="PhysicsBody" value="zombieStandardFemale" />

 

zombieferal

zombieBoe - Is a boy

zombieArlene

zombieScreamer

zombieDarlene

zombieMarlene

zombieSteve - Is a boy

snowzombie - Is a boy

zombieNurse

 

Edit:

 

Another possible not intended item:

 

stoneAxe has <property name="ToolCategory.Butcher" value="0.5" /> in action1, shouldnt it be in action0?

 

 

gasMask has:

<property class="Armor">

<property name="Melee" value="0.6" />

<property name="Bullet" value="0.4" />

<property name="Puncture" value="0.4" />

<property name="Blunt" value="0.5" />

<property name="Explosive" value="0.2" />

</property>

 

All other armor has:

<property class="Attributes">

<property name="ConcussiveProtection" value="0.2, 0.4" />

<property name="PunctureProtection" value="0.1, 0.3" />

</property>

etc

Link to comment
Share on other sites

I have been using notepad + and a plugin to compare xmls, but i never heard of winmerge. Thank you so much! You have saved me much headache and grief in the future.

There are a ton of comparison utilities. Its good to have several at your disposal. Your needs can change on a case-by-case basis.

 

https://www.corefiling.com/opensource/xmldiff.html

http://www.altova.com/diffdog.html

http://www.scootersoftware.com/

http://winmerge.org/?lang=en

http://portableapps.com/apps/utilities/winmerge_portable

http://semanticdesigns.com/Products/SmartDifferencer/

http://www.deltaxml.com/

http://text-compare.com/

https://www.diffchecker.com/

http://www.angusj.com/delphi/ (TextDiff)

 

On Linux, you can convert both XML files to Canonical XML and then compare the results.

 

Example:

xmllint --format --exc-c14n ver1.xml > ver1out.xml
xmllint --format --exc-c14n ver2.xml > ver2out.xml
diff ver1out.xml ver2out.xml
vimdiff ver1out.xml ver2out.xml

Link to comment
Share on other sites

Not sure if its intended (or if it even matters) but doesn't sound right:

 

Zombies with <property name="PhysicsBody" value="zombieStandardFemale" />

 

zombieferal

zombieBoe - Is a boy

zombieArlene

zombieScreamer

zombieDarlene

zombieMarlene

zombieSteve - Is a boy

snowzombie - Is a boy

zombieNurse

 

Edit:

 

Another possible not intended item:

 

stoneAxe has <property name="ToolCategory.Butcher" value="0.5" /> in action1, shouldnt it be in action0?

 

 

gasMask has:

<property class="Armor">

<property name="Melee" value="0.6" />

<property name="Bullet" value="0.4" />

<property name="Puncture" value="0.4" />

<property name="Blunt" value="0.5" />

<property name="Explosive" value="0.2" />

</property>

 

All other armor has:

<property class="Attributes">

<property name="ConcussiveProtection" value="0.2, 0.4" />

<property name="PunctureProtection" value="0.1, 0.3" />

</property>

etc

 

I am not entirely sure what that does and since the zombies dont have any issues with them I suppose that it can stay the way it is unless TFP decide to change it, maybe they have it that way for a reason.

 

The gas mask is using a different method I believe, if you look at the commented out section at the top of the xml file you will see an example of a welding mask so it is possible it is working as intended.

 

I did however decide to fix the stone axe since that does seem to be an error in placement.

 

Thanks for posting! :)

 

- - - Updated - - -

 

In materials:

 

Snow material:

 

<property name="particle_destroy_category=" value="snow" />

 

Good eye! Fixed! Thanks for posting! :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...