Jump to content

Stroam

Moderators
  • Posts

    703
  • Joined

  • Last visited

  • Days Won

    41

Posts posted by Stroam

  1. The first person thing you mention is actively being investigated to see what the best method is. 

    I really like the eye-shielding idea but it would have to be automatic and for smooth transitions, it'd have to delay the animations of other actions. Whether that'd be immersive enough for players to enjoy or would just annoy them would have to be debated.

    The swimming with torch idea would be really difficult to implement correctly.

    I too like the idea of knockdown. If crawling is ever added to the game, perhaps knockdown will be as well.

    I've also pondered a fatigue and resting system to motivate players in MP to synch up sleeping. It'd have to be designed and tested very well so it's unlikely to make it into the base game unless it becomes a popular mod.

    • Like 1
  2. Here's a paper that I've been working on for a long while and goes over some concepts and ideas that I think will improve the Vintage Story gameplay. Some of which are already in Vintage Story but might be best expanded upon. To save the forums from a wall of text. I've put the wall into a document instead. Enjoy!

    https://docs.google.com/document/d/1xksITHXuOvhNvoJif-K-Y5fKfeOe3IqSU22YBzToWeQ/edit?usp=sharing

  3. My first reaction is no, because it's 3rd party. My first thought is, this could be good for VS in that it distributes the development load. CurseForge has people with experience building mod loaders so that could be used as a good example of one way of doing it. My current stance is, this is probably a good thing but I'm not going to research it enough to argue one way or another.

    • Like 2
  4. Many have expressed a desire to learn how to use the patching system in VS. This tutorial was put together for that expressed purpose. Before I get started I'd like to point out who you can turn to get more information. Other than myself, copygirl is a good source as copygirl was the one who implemented the system. In this tutorial, we'll cover basic patching, advanced patching, and how to disable json entirely. Now on to the basics.

     

    The basics

    The first thing you need to do is to setup a generic mod as outlined on the wiki. That information can be found on the mod packaging page. In that example domain is the name of your mod. Patching is considered a content mod but if you have a .dll or .cs in your mod it is a code mod. Patches go in assets/domain/patches.

    Now that the mod files and folders are setup it is time to make the first patch. Start by making a .json and name it however you'd like. Open the file with your favorite text editor and fill it in with the following.

    [
    	{ file: "", op: "", path: "", value: }
    ]
    • File is where the file you want to change is located. 
    • Op stands for operation and it's what you want to do. Valid operations are add, remove, and replace.
    • Path is where the value you want to change in the file is located.
    • Value is what you want to put in the file.

    Now lets give an example. For these examples I'll be modifying the wolf-male.json because it was the first one I modified, I'm very familiar with it, and it provides a good basis for examples. In this first example, we'll modify wolf damage.

    For the file put, 

    file: "game:entities/land/wolf-male"

    The game: is the domain. In this case, it's the domain for vanilla VS. You can change the domain to modify other peoples mods as well.

    If you look in the vanilla game folders, under assets you'll find the file we are modifying under entities/land/wolf-male. That is why that part comes after the domain.

    Next put,

    op: "replace"

    Since wolves already deal damage we simply want to replace the damage value.

    Now for the path,

    path: "/server/behaviors/5/aitasks/0/damage"

    This is the truly tricky part. In these JSON files, you'll find labels such as server: and behaviors:. You'll know it's a label because it's followed by the colon. Colon  :

    Next, we have arrays. These start and end in square brackets. Square brackets  [ ]

    Within these square brackets, you'll find sections between curly braces. Curly braces { }

    These sections don't have a label so they must be referenced by number. To figure out the number you must count starting with 0.

    Now to break down the example. We see the value we want to modify on line 52. To get to that we trace it back to the first label which is server. From there the next label is behavoirs. Here we notice the square brackets, so we must count. In this case to 5. Next is the label aitasks, then we hit more square brackets. The count for this is 0 because that's the number you start on. Finally we get to the label damage.

    We can now move on to the last part, value

    value: 6

    Since the value is a number we just put a number. If it were text, the value would be "6".

     

    Advanced patching

    We will now move on to a more complex example using the same file. This time we'll add a drop to the male wolf. For this, you can make a new file or put a comma after the first patch and put the new patch on the next line.

    [ 
    	{ file: "game:entities/land/wolf-male", op: "replace", path: "/server/behaviors/4/aitasks/0/damage", value: 6},
    	{ file: "game:entities/land/wolf-male", op: "add", path: "/drops/-", value: { 
    		type: "item", 
    		code: "stick", 
    		quantity: { avg: 2, var: 1 } 
    	} } 
    ]

    In this second example, we'll skip straight to the path. You'll notice the label drops and then a dash. Dash -

    This dash means add to the front of the array. This is useful because it prevents us from overwriting another drop and we may not know the number of drops if other mods added drops as well.

    For the value, there is an entire section showing that the value doesn't just have to be a number or text. In this case, we added the stick to the drops but by specifying a domain in front of stick like we do for the file it could be a stick from any mod!

     

    Disabling JSONs

    Sometimes you'll want to disable a json entirely. This might be to disable a vanilla recipe for example. For this example I'll be disabling wolves because I don't want to upload another file and hopefully you are quite familiar with the file by this time. All jsons have various labels that the game looks for even if they are not there. In this case the file doesn't have the enabled label so we'll be adding it and setting it to false like so.

    [
    	{ file: "game:entities/land/wolf-male", op: "add", path: "/enabled", value: "false"}
    ]

    That's all you have to do. If there's already an enabled label in the file then we'd need to switch op from add to replace.

     

    At this point, you have all the tools for modifying assets using the patching system. This is an incredibly powerful tool that only limited by your imagination. Have fun patching!

    • Like 2
    • Thanks 2
  5. Here's a guide on how to install mods. This guide assumes you know how to navigate web pages and browse through files on your computer. I'll specifically be covering windows as I assume anyone with linux can also figure it out with this information.

    First, go to the mod release section of the forums.
    image.png.97d94e82205e57532856e7e4a75ac6a8.png
     

    Next, open the thread of the mod you want to download. I'll pick this one.

    image.png.8fb62dba27cee093f069e44f08aaeb59.png

     

    This mod like most will have a link for downloading the zip file. Some though will have a link to a github page where you can download the mod. Click on the zip file to start downloading it.

    image.png.d33e2b301051c04838bd5cbcdee9dc1c.png

     

    Once downloaded, it'll most likely be in your download folder. 

    image.png.3d86ee6ef562fbd9986dcceaa2e978ed.png

     

    You'll want to copy or cut the download and then navigate to the Mods folder where your Vintage Story files are. For windows they are in Username/AppData/Roaming/Vintagestory/Mods. There will be two mods in there as you can see from the picture. That's because the game modes are technically mods. Paste the zip file that you copied or cut, into this folder with the other mods.

    image.png.282300c5143c0135cf0fc78c728a8788.png

    If you are unable to locate your AppData folder it could be because it is hidden and you are not able to view hidden files and folders. To make it so you can, go to the top and click on View. From there navigate to where it says Hidden items and make sure it's check marked.

    image.png.9f8b5ee8f7a2c8a7100ce1b801a255d3.png

     

    From this point, you can probably start up Vintage Story and everything will work fine. The next section is common issues you may encounter.

     

     

    Common issues:

    The mod is not enabled. Start up the game and go to Mod Manager.
    image.png.b950677beea2b3e7e547ccd7a53b7e7c.png

    From there make sure the mode has a blue box in the top right. image.png.664e7953dda4dd4134ccf621f78d023b.png not enabled            image.png.55896ba4390d219f0f101db5fa580fcc.png enabled.

    This is also where you get the mod version number. It's right next to the box and in this case, it's 1.0.0. The game version will be the version number on the Survival Mode mod.

     

     

    Error

    Vintage Story has a fairly fast update cycle and while it's not common for mods to break it can happen. When this happens you'll get an error. To locate the error you'll need to go to your log files which are in Username/AppData/Roaming/VintagestoryData/Logs.

    image.png.20b83afe9b11370f62f749d0b36848eb.png

    You'll want to then go to the mods page on the forums and post what you were doing prior to the error, the version of the mod, the game version you were using(instructions above), and the error file. Here are general guidelines for which file you need.

    • client-crash.txt - when the world crashes but the client doesn't and takes you back to the Vintage Story main page.
    • client-main.txt - when there's a graphical issue but the game doesn't crash.
    • server-main.txt - should probably always be included. Is when things don't work like they should. For instance, a recipe doesn't work.
    • VintagestoryCrash.txt - for when the Vintage Story crashes. The Vintage Story crash reported will pop up and ask you to report it on the issue tracker because it's most likely a vanilla bug brought to light by the mod. Please include all the information that you would for any error.

     

    • Like 2
    • Thanks 2
  6. Updates:

    I moved all my tweaks into a new thread, Stroam's various tweaks.

    I combined all my previous building mods into one called Brick by Brick which includes:

    • Stone pathways
    • Roman roads
    • Lamp posts
    • Wicker Fences
    • Fence gap
    • Adobe
    • Cob
    • Directional hay and bamboo crafted by placing vanilla hay and bamboo in the crafting grid. Can be craft back to vanilla for recipes using the same method.
    • Grid recipes for:
      • plain quartz
      • pillar quartz
      • ornate quartz
      • stone brick
      • stone bricks
      • polished stone
    • Smithing recipe for:
      • chisel
    • Modified vanilla stone paths to be full blocks to better work with stairs, slabs, and so it can be chiseled.

    If you'd like a block to be added please feel free to request it. I'm not the greatest artist so any help in that department is appreciated. If you already have modded a block and feel like it would be a good fit to add to the mod, feel free to suggest it. All credit will be given where credit is due and thank you for checking out my mod.

  7. This mod is for those who want an easier combat experience. Enabling and disabling them won't break your world. Vintage Story is always in flux as it updates. I fix tweaks faster if someone reports a tweak as broken.

    • 1.9.2+ peacefulmod-v1.1.2.zip- Hostile mobs will no longer seek out the player and the player will keep their inventory on death. Mobs will still attack if you are within melee distance or when you hurt them or you hurt one of their friends. Intended to teach what is dangerous and still allow players to acquire drops from the mobs. If you would like even more passive mobs please leave a comment.
      • Mods go in the mods folder in the game directory. To re-enable the aggressive behavior of any mob either disable the mod in the main menu or unzip the mod, navigate to assets/peacefulmod/patches and there you will find each mob. Delete the files with the names of the mobs that you wish to be aggressive. Then back out and make sure there isn't already a zipped version of the file still around. If there is delete it. Then re-zip the assets folder and the modinfo file together again and name the zip file in a way that makes sense to you.

    •  
    •  

     

    Archived Versions

     

    • Like 1
    • Thanks 2
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.