Jump to content

khzmusik

Members
  • Posts

    1,250
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by khzmusik

  1. 1 hour ago, Vanblam said:

    Thank you very much :D. The only problem I'm having is that I cannot get this to work on my new item schematics, seems to only work on the vanilla schematics. I tried changing my new schematic manually and it still did not change at all. I'm sure it's something stupid that I am not noticing lol. I do have my mod loading first, then khzmusik's "Book Icons" mod.

     

    If your schematic descends from "schematicMaster" then it should work. Otherwise you would have to add the icon properties in your schematic's XML code.

     

    If you look in the README.md file of my modlet, the technical details should get you started.

     

    Also - and I did not realize this when I made my modlet - you do not have to stick with the icons supplied by the game. You can also supply your own. @Jegethy did that in his own modlet that changes the book icons:

     

     

  2. One more to sneak in before A20...

     

    New Zombies

     

    I finally got around to messing with Unity and some character model creators, and managed to make a bunch of new zombies:

    • a new burnt zombie

    • an older businessman zombie

    • an older businesswoman zombie

    • a skinny cowgirl zombie

    • a generic, skinny, female zombie

    • a female lumberjack zombie

    • a female office worker zombie

    • a female stripper zombie, similar to the original TFP designs (Warning! Nudity)

    • a male firefighter zombie

    • a generic, but skinny, male zombie

    • a short but stocky police woman zombie

    They should all spawn with the appropriate vanilla zombies.

     

    This modlet is dependent upon 0-CreaturePackZombies.

     

    It has custom assets, so it is not server-side safe. However, it does not have custom C# code, so you can just copy it into the Mods folder, and you do not need to disable EAC.

     

    https://gitlab.com/karlgiesing/7d2d-a19-modlets/-/tree/master/1-CreaturePackZombies_khzmusik

     

    Screenshots are attached.

     

    Hope you all enjoy them!

    A19.6_2021-09-18_01-23-48.jpg

    A19.6_2021-09-18_01-24-01.jpg

  3. 6 minutes ago, MechanicalLens said:

     

    I'm not entirely sure how the particle board blocks will work but if we will be able to upgrade straight to steel instead of going through the upgrade chain, then how would the game decide what material to use? In this scenario I see a radial menu for the stone axe / claw hammer / nail gun being necessary.

     

    That is unless you are "forced" to go through all of the upgrade stages in order and we'll just be able to craft the solid versions of each material type. (Ex. Steel blocks.) If this is the case, I'm curious if we'll get XP for placing them, and if so, how much.

     

    I was imagining that the particle board would replace the wood frames, but you'd still have to go through an upgrade path (which will be far simpler in A20).

     

    So no going straight from particle board to steel, but particle board -> wood  -> cobblestone (I think? one of them is still there) -> concrete -> steel. Something like that anyway.

  4. 2 hours ago, BFT2020 said:

    So to expand on my modding skills, I am now modifying the loot xml file.  The first thing I am doing is changing the weapons and armor to basic resources (simulating that all you are finding are broken armor and weapons).  I think I am doing it right, but wanted to confirm.  I don't get any errors when I load up my test world, but not sure yet if the game is doing what I think it is doing:

     

    First, what I think I am doing:

    -At each loot group with cloth armor, I am replacing the armor with resourceCloth and setting up a count range of this resource.

     

    Now my code.  Instead of individually changing each loot group with cloth armor in it, I just want to find each instance with the cloth armor and change it.

    <config>
    	<setattribute xpath="lootcontainers/lootgroup/item[@name='armorClothJacket']" name="count">3,6</setattribute>
    	<setattribute xpath="lootcontainers/lootgroup/item[@name='armorClothPants']" name="count">3,6</setattribute>
    	<setattribute xpath="lootcontainers/lootgroup/item[@name='armorClothBoots']" name="count">3,6</setattribute>
    	<setattribute xpath="lootcontainers/lootgroup/item[@name='armorClothGloves']" name="count">3,6</setattribute>
    	<setattribute xpath="lootcontainers/lootgroup/item[@name='armorClothHat']" name="count">3,6</setattribute>
    	<set xpath="/lootcontainers/lootgroup/item[@name='armorClothJacket']/@name">resourceCloth</set>
    	<set xpath="/lootcontainers/lootgroup/item[@name='armorClothPants']/@name">resourceCloth</set>
    	<set xpath="/lootcontainers/lootgroup/item[@name='armorClothBoots']/@name">resourceCloth</set>
    	<set xpath="/lootcontainers/lootgroup/item[@name='armorClothGloves']/@name">resourceCloth</set>
    	<set xpath="/lootcontainers/lootgroup/item[@name='armorClothHat']/@name">resourceCloth</set>
    
    </config>

    In my mind, the game is updating all instances with Cloth Armor by:

    -Attaching a new attribute count=3,6

    -Replacing all instances with Cloth Armor with resourceCloth

     

    That looks correct, but there's an easier way to do it.

     

    XPath comes with a "starts-with" function that you can use in your selectors. So that code could be rewritten like this:

     

    <config>
    	<setattribute xpath="lootcontainers/lootgroup/item[starts-with(@name, 'armorCloth')]" name="count">3,6</setattribute>
    	<set xpath="/lootcontainers/lootgroup/item[starts-with(@name, 'armorCloth')]/@name">resourceCloth</set>
    </config>

     

  5. At one point, the game developers (I think maybe Joel himself) gave a rough outline of what they wanted the game's plot to be.

     

    The idea is that there are two competing factions, one led by the Duke, the other by Noah from Whiteriver. During the game the player decides to side with one or the other. The end game would be a boss fight between the player, and either the Duke or Noah.

     

    I don't know if that is going to make it into the game at this point. Bandits aren't part of the Duke's faction (his soldiers are called Cassadores), and it looks like bandits are the primary focus for human NPCs.

     

    If you don't want to wait for TFP, I have a series of modlets that do something like this. They use the NPCs from Xyth, and add a couple more factions (whisperers and vault dwellers), but the idea is the same. You do quests for each faction (or murder that faction's enemies) to build reputation, and eventually you're asked by one faction to wipe out the others.

     

    If you're interested, this is the topic where I post my modlets - go to the latest post for details about the NPC specific ones.

     

  6. That is an excellent question. Usually it's determined in items.xml by the item's "RepairTools" property. That property is inherited if you use the "Extends" property.

     

    But that does not seem to be how the vehicles work. They all extend "vehicleMinibikePlaceable", which itself extends nothing, and it does not have a "RepairTools" property.

     

    So there are a number of possibilities for where it gets the repair item:

    • If there is no "RepairTools" property, the game defaults to a repair kit.
    • They might use the "RepairTools" value of the engine (the "smallEngine" item). This wouldn't make sense for the bicycle, but it does for the minibike, and the bicycle extends that.
    • Their parts extend from "partsMaster" and all those are also repaired with repair kits, so maybe they use the value of their parts? 

    Those are in order of most to least likely, in my opinion.

     

    You could test this by adding a "RepairTools" property the the minibike item, and set it to be a small stone (or whatever). Then damage a vehicle a little bit, try to repair it, and see what happens.

  7. On 9/10/2021 at 9:54 AM, dwarfmaster1974 said:

    Hello khzmusik,

     

    currently, this is already possible in some places.

     

    Oh, that is interesting. I did not know that. I am very surprised that TFP allow that.

     

    So, I did some research. I looked at the modlet you linked, then decompiled the code to see where it was actually loading the image.

     

    If you're curious, the class in the code that does this is called "XUiV_Texture". It holds a reference to a Unity "WWW" object that it uses to download the texture. As the name suggests, it's not used anywhere except in the various XUi classes.

     

    So, I'm almost positive that you can only do this for the XUi textures. Those are defined by the XML in the "XUi" folder, and specify how the various window elements look in the UI (like the color of the player backpack window).

     

    I don't see any indication that you can use a URL anywhere else. But, obviously, I've been wrong before.

  8. I discovered that I can edit the first post again. Yay!

     

    And it's a good thing, too. Just in time for the weekend, I finally finished the human NPC modlets that I've been working on for months.

     

    If you want a fully-featured human NPC experience in 7D2D, then grab all these modlets:

     

    Also, make sure you install these modlets from other modders, the above modlets are dependent upon them:

    • 0-SphereIICore - MUST be the latest version!
    • 0-CreaturePackHumans
    • 1-NPCPackHumans
    • SphereII NPC Dialog Windows

    If you don't, or can't, use DMT, then you can use this collection of modlets instead:

    Unfortunately, the quests require DMT (in the SphereII Core module), so you won't have those. Also, due to vanilla limitations, sleepers won't wake up at all unless the player is considered an enemy - so, all other humans are enemies in this combination of modlets. (Neither limitation is present in the DMT collection.)

     

    Want to help? Here's how:

    • We need more human POIs. If you are a prefab designer, you only need the Human Factions and Prefabs modlet. That contains the code for the human sleeper volumes. See the design README for details and suggestions.
    • This is an initial release, so there may be a couple of bugs, and there almost certainly will be balancing issues. The bugs I can hopefully fix, but the balancing issues might have to wait until this is all ported over to A20 (which is not too far away now).

    I really hope you all enjoy this.

     

    EDIT: I should also mention - the bulk of the NPC quests are designed for mid-to-late game. Most are Tier 2 or above, and you won't get certain quests (like the "murder" quests) until Tier 4 or 5.

  9. On 9/1/2021 at 1:00 PM, dwarfmaster1974 said:

    The display options are often limited, although it would be cool if you could use your own item icons or paintings.

    So the question is whether it is possible to do this in an XML definition.

     

    Example:

    <configs>
        <append xpath="/items">
            <item name="MultiMegaAxtThingi">
                <property name="DescriptionKey" value="MultiMegaAxtThingi"/>
                <property name="CustomIcon" value="@http://our-web-server/item-icons/MultiMegaAxtThingi.png"/>
    ...
    ...
    ...

    Does this make sense or is it possible to do something like this, or is the only way through a client mod?

     

    What you have written is definitely not possible in the game right now. Furthermore, I would be surprised if TFP ever implemented that as an option. It would mean the game would have to open an unsecured HTTP request, to some website outside its control, to download a binary file that may or may not actually be an image file.

     

    For now, "server-side" mods have to only include:

    • assets that the game pushes from its own directories on the server, to its own directories in the client (XML, the world map)
    • assets that are shipped with the game, so everyone already has them (this is how Snufkin's server-side modlets work, for example)

    Hopefully some day TFP will add the ability to push other relatively small assets, like image files, to clients. Until that happens, you either have to live with the assets that are in the game now, or require clients to install their own copies of custom assets.

  10. On 9/7/2021 at 9:19 PM, Telric said:

    in your example it's just going to any effect group i think.  Either that or it's going to the first effect group and stopping there.

     

    XPath selects a collection of XML elements. It doesn't stop when it finds a match. (It's why people use selectors in the first place.)

     

    For example, you could do this:

    <set xpath="//triggered_effect[@stat='Health']/@value">0</set>

     

    That will select all triggered_effect nodes with the "stat" attribute value of "health", and set all their "value" attribute values to zero, for all XML nodes in the file.

     

    The double-slash means "any descendent of the currently selected element which matches, no matter how deep." (In this case it's the root node of the XML document.) It's useful for matching nodes that might or might not be a direct child of a node that you know how to target.

     

    For example:

    <set xpath="//buff[@name='buffDrugPainkillers']//triggered_effect[@stat='Health']/@value">0</set>

     

    You might not know if the triggered effect is a descendent of a requirement node, or of an effect_group node, but it doesn't matter.

     

    It's something to keep in mind for forwards compatibility. It obviously doesn't guarantee it will still work if TFP update the XML, but it helps.

  11. The burning shaft mod adds the "buffBurningElement" buff to entities you attack. It's the same buff given by the torch, when you attack entities with it.

     

    A simple tweak would be to increase the "HealthChangeOT" property to something like 3 or 4 (its current value is 1.5). That would affect anything that gives that buff.

     

    If you want to make a new item, like you said, you'd make a new item modifier, and have it add a new buff. Both the new item and the new buff could be copies of the vanilla item and buff, but with their names changed, and the new buff would have the new "HealthChangeOT" value.

     

    That isn't difficult, but you'd also have to consider its recipe, whether or how that recipe is locked, whether the item is found in loot, and if so which loot, and so forth. None of it is difficult but it's not a trivial amount of work.

  12. To anyone at TFP:

     

    With the new dynamic imposter feature, will worlds with custom POIs be server-side only?

     

    Specifically: You install custom POIs on a server, and generate a world with them. Will clients need to install those custom POIs in order to connect to that world?

     

    Right now, the answer is yes. But I think that's only because they need the imposter information, and the rest is baked into the world. Am I wrong? (that's entirely possible, I'm not a MP guy.)

  13. 1 hour ago, faatal said:

    New plant changes (not finished):
    image.thumb.png.9794fa4ccfb25ea243cb7d32a80eed0b.png

     

    Finished or not, this already looks a million times better than what's in the game right now. That's really great, the plant textures were probably my biggest pet peeve about the game. Justin deserves a raise. :)

  14. 57 minutes ago, ixxxo said:

    I am a bit hesitant to delve into mods, as I play on Linux (thanks for fantastic native game by the way!) and mods are usually more trouble than it's worth it (many mod managers are windows only).

     

    That modlet is extraordinarily simple, and server-friendly (meaning, no custom assets or code, so it's automatically pushed to clients). You don't need any kind of mod manager, just drop the modlet's folder into the Mods directory. (If that directory doesn't exist, create it in the game's root directory, it should be a sibling of the Data directory.)

     

    It's literally a couple lines of XML, so if you want to just mod it yourself, feel free to use my code as a guide (if you can understand XPath):
    https://gitlab.com/karlgiesing/7d2d-a19-modlets/-/blob/master/khzmusik_Book_Icons/Config/items.xml

     

    That's not true of all my modlets, of course, and for those I understand your reluctance. Were it not for the Mod Launcher, I probably wouldn't have started with mods either. The new version of the Mod Launcher, written in Unity, should be Linux compatible, if you want to give it a shot: http://7d2dmodlauncher.org/30.html

  15. 9 hours ago, stormierant said:

    IT still says denied. so no it was not successful. I input all the info under the admin tab in the xmlsave config folder. In my server in g portal. Restarted the server and nothing. The line I used was in the example given I copy and paste the line and filled in the info needed I seriously don't understand where I went wrong.

        <!-- <user steamID="76561198021925107" name="Hint on who this user is" permission_level="0" /> -->

    put my steamID in the relevant slot and name in where name should be.

    It might be that the name is my steam name and not in game name ??

     

    The <!-- and --> signify comments in XML. Everything between them is ignored.

  16. 6 hours ago, 0EoK0 said:

    I have a experience about make a custom translation pack in A16 version.

    So can I do the same thing in A19 ?

    If it can, which doc should I edit ?

     

     

    You should create a modlet with a custom Localization.txt file in its Configs directory. That file should override the game's localization.

     

    Instructions about how to write that file, are here:

     

    The instructions are for adding translations of new text. However, it also works with vanilla text.

     

    You will have to know the "Key" value of the text that you want to override. It is the first value, before the first comma, in the line in Localization.txt that contains the relevant text. If you use that same key, the text in your own Localization.txt file will override the game's text.

     

    EDIT: I did not catch that you have not modded the game since A16. It is very different (and easier) now. You do not directly edit the game's files, you create "modlets" that are put into the game's Mods directory.

     

    Usually, modlets use XPath to modify the game's XML files. But, that isn't relevant to Localization.txt.

     

    There are video tutorials for creating modlets, here:

     

  17. 8 hours ago, Apaseall said:

    I would consider using a different approach that direct node order,

    effect_group[2]/requirement[1]

    because AFAIK, if the node order changes, it breaks your code.

     

     

    This is true. There may be several ways to fix this.

     

    The first - and best, in this case - is the one bdubya suggested: make your own effect group and append it.

     

    Another option is to append to the first effect_group node that has a matching requirements node as a descendant. But that would also break if, in the future, the order of those effect_group nodes changes.

     

    The third option is to append the first effect_group node that has a matching requirements node as a descendant, but does not have the "HitLocation" requirement. That will work and is relatively safe from breaking - but the XPath syntax is also fairly complicated.

     

    So, I think sticking with bdubya's solution is the best.

  18. 10 minutes ago, unholyjoe said:

    thats actually just a simple bridge (no frills unless you plan to jump from one when the zombies are chasing you) :)

     

    Is it part of the tile, or part of a POI? I'm hoping the former. The lack of 3D roads (including subways) was one thing that a lot of folks want, including me, and actually having that in game would be fantastic.

  19. 1 minute ago, faatal said:

    a20b156RWGSnowCityDowntown2.jpg

     

    This looks really nice.

     

    Quick favor since you're posting pictures - can you show a little more detail of the overpass/walkway in the middle background?

     

    That's one thing that I always wanted to see in RWG.

     

    Thanks!

  20. On 8/26/2021 at 2:26 PM, doughphunghus said:

    Yeah, I agree.  I don’t know why there’s not a moddable way to add new textures. It may be just a “not a priority” vs a technical issue and they just hard coded some useable number (for their needs).

     

    I'm pretty sure the limited textures are due to the lack of binary storage space for a block.

     

    Basically a block is represented by a binary number, and that number has to hold all of the data for a block - its 3D rotation, reference to its entry in blocks.xml, etc. Consider that all six sides of a block can be painted, and it's no wonder that single number can only hold so many block textures.

     

    I could be wrong, but I'm pretty sure fataal said something like that in the dev diary, possibly of a previous alpha.

     

    FWIW, there are textures that are not "turned on" for painting, not even in the editor. There is a modlet somewhere which fixes that, but I can't remember what it is.

  21. A quick trip down memory lane... According to the scuttlebutt, the major reason Telltale games eventually went out of business, was because they spread themselves too thin. Their devs and QA teams were perpetually working in crunch mode, on projects that did not generate sales.

     

    So, this petition is basically asking TFP to adopt the development strategy that led to the bad console situation in the first place. Not the best idea IMHO.

×
×
  • Create New...