Jump to content

Gonna start learning SDX modding


layarion

Recommended Posts

I hate the inventory system on the game.

 

One thing that would breath a deep sight of relief is expanded storage chest with extra space that you can scroll down to view. See post #8 for the mod i plan on creating.

 

So I'm going to start hitting the books. If anyone wants to mentor me (with like links, video's, or where to start) I'm listening.

 

Right now I've saved a bunch of links on the SDX Tools subforum and will sit down soon and try to start learning. I have less than rudementary coding knoweledge and all I can really say is that I've made a "hello world" program in Lua and C# before. Well I made a fully functional Tic-Tack-Toe game in C# that asked which player goes first, keeps score, and knows a tie condition when it happens. That was maybe 4 years ago though and I can't remember anything about it. (was a homework assignment)

 

Another thing I might try is allowing storage chest to have no stack limit on items, and when pulled out the stack limit is reinforced.

 

Update 1:

Just wanted to say I'm still actively doing this. Major roadblock is my beginner level programming knowledge and equally so C# knowledge. I did purchase a membership to a site that is taking me from the ground up through Unity and C# simultaneously though.

 

The site features a guy named Bob Tabor whom Microsoft seems to endorse because he's on one of MS's C# learning videos.

 

So i feel like I'm in good hands, I just think that Bob's format is a little slow, repetitive, and dry sometimes. He's got a partner or something doing a "Learn C# through Unity" course and I've switched to that. It's still a alittle repetitive and dry sometimes, but it's at least more directly related to the task at hand and therefore much more interesting.

 

One final note, I've been using a site called SoloLearn to learn C# as well. It's different, and in a good way. See in Bob's videos and the other guys if I want to get something from the "lesson" then i need to go through the whole poorely optimized and poorely catagorized video. (no chapters in the video, time table index, or anything)...which means it's inefficient.

 

Sololearn on the other hand, has a bunch of tiny text-based segments. So small that I learn a single concept, and move on to the next idea. This is great because it's easier, in ways, to understand. Unfortunatly, the skill in which they write, explain, and demonstrate these segments needs improvement on some of the concepts and ideas.

 

I was having a good, actually fun, time going through it until I got to the "this" keyword and they kinda failed me. When I'm further along in Bob's course I will come back to SoloLearn because both sites have their strengths and weaknesses, and the SoloLearn will be a powerful companion to "cement" my knowledge, and terminology.

 

To be clear, if Sololearn were better at what they're doing, I wouldn't watch Bob's vids because it's slower. I have no choice but to do it this way though. Ideally i would complete SoloLearns C# course, and then breeze through Bob's Unity section.

 

As each day goes by I'm finding that less and less of the SmartContainers script looks alien to me and i see how it fits into the mod.

 

Update 2:

So i'm still chugging along. I actually stopped doing the Unity course because in all honesty the instructor was lazy and offered no challenges, quizzes, or homework. He wanted us to "follow along" and i understand that i could create "my own challenges" but that's something you're suppose to do when the instructor teachers you everything they got, and then you try to run with it. Not while you're still learning. It's just less efficient that way.

 

So i went back to the original course, as that had all of the above, it's just not as related. Still, i'm more likely to remember what i'm being taught this way.

 

It's not really part of the course, but i'm struggling with definition and concepts of libraries, API's, and how they're different from each other.

 

Update 3:

I've just about completed 1 of the 2 courses I'm taking. The one i nearly completed was about CS fundamentals, and the only thing in it i didn't touch was the stuff that went into databases. I'm not sure that's related to 7 days to die or it's servers.

 

As for course 2, the boring and less organized Unity course by a different instructor...I'm doing that one now.

 

Now i might be able to skip over some things in course 2, and make up for his shortcomings. Right this moment, i'm messing with really simple things like the transform class/object and getting a square to move across the screen with the left arrow. My 6 y.o. thinks it's riveting stuff :p

 

actually i lied, while he likes it, he's not at the edge of his seat to learn it. maybe i should show him what java can do to minecraft.

 

Update 4:

 

https://7daystodie.com/forums/showthread.php?74225-Gonna-start-learning-SDX-modding&p=828128&viewfull=1#post828128

Link to comment
Share on other sites

I hate the inventory system on the game.

 

One thing that would breath a deep sight of relief is expanded storage chest with extra space that you can scroll down to view.

 

So I'm going to start hitting the books. If anyone wants to mentor me (with like links, video's, or where to start) I'm listening.

 

Right now I've saved a bunch of links on the SDX Tools subforum and will sit down soon and try to start learning. I have less than rudementary coding knoweledge and all I can really say is that I've made a "hello world" program in Lua and C# before. Well I made a fully functional Tic-Tack-Toe game in C# that asked which player goes first, keeps score, and knows a tie condition when it happens. That was maybe 4 years ago though and I can't remember anything about it. (was a homework assignment)

 

Another thing I might try is allowing storage chest to have no stack limit on items, and when pulled out the stack limit is reinforced.

 

As you may have seen I just started to SDX modding this game a few weeks ago myself. Took me a while to get the SDX working properly for a start. I am using Valmod as a starting point for all my SDX modding. I believe coding skills are irrelevant to some point as C# is quite generic language with a lot of facilities.

 

You have to spend time understanding how this games works internally in order to be able to modify it. And the only way to do this is to disassemble this Assembly-CSharp.dll using some third party tools and start reading the code until you get familiar with all the classes and the internal game mechanics. I am not yet there only stated few days ago, and the number of classes and the way they interact is overwhelming to say the last.

 

The community offers nice way to patch the games via this SDX tool and I find it fantastic.

 

I concur your point with the storage management of this game, this is way too tedious especially at end game. I like some of your ideas discuss in other posts and I am interested to implement them. However I am still in the learning curve so patience is key.

Link to comment
Share on other sites

As you may have seen I just started to SDX modding this game a few weeks ago myself. Took me a while to get the SDX working properly for a start. I am using Valmod as a starting point for all my SDX modding. I believe coding skills are irrelevant to some point as C# is quite generic language with a lot of facilities.

 

You have to spend time understanding how this games works internally in order to be able to modify it. And the only way to do this is to disassemble this Assembly-CSharp.dll using some third party tools and start reading the code until you get familiar with all the classes and the internal game mechanics. I am not yet there only stated few days ago, and the number of classes and the way they interact is overwhelming to say the last.

 

The community offers nice way to patch the games via this SDX tool and I find it fantastic.

 

I concur your point with the storage management of this game, this is way too tedious especially at end game. I like some of your ideas discuss in other posts and I am interested to implement them. However I am still in the learning curve so patience is key.

1) Could you link these third party tools?

2) Do I need to use Unity 5.3.3 or can i use the latest version of Unity 5.x?

Link to comment
Share on other sites

1) I am using ilspy but there are others

2) Yes, unity is used to introduce new 3d model to the game, you need this specific version 5.3.3

 

5.3.8sp2 is actually what you should use, although if you apply the latest security patch to 5.3.3 you will be ok too.

Link to comment
Share on other sites

Welp, read some of that new guide (which is now stickied) and I think i'll read more of it...just i want to open up Smart Containers since that already has some of what i'm looking for, and see if i can learn from it's example. so goal 1 is: fix smart containers for multiplayer use. Currently it won't let my brother open the box, and when we removed the code that did that...it opened, but when he Shifts+E to store stuff in it...it deletes them instead.

 

So:

 

Goal 1: Fix the multiplayer locked box and deleting items issue.

 

Goal 2: Allow smart containers to work just by being near them - pressing a button - and having the players inventory pulled and auto-sorted without opening the chest.

 

Goal 2.1: Same as goal 2, but instead of entire inventories: just stacks of items the player mouses over while pressing a button.

 

Goal 2.2: Kinda like goal 2.1, but reverse. When the player mouses over a stack that isn't full: fill the stack from base storage.

 

Goal 3: Allow the chest profiles to be edited in-game

 

Goal 4: Allow the mod to pull needed materials from nearby chest when crafting items.

 

Goal 5: Allow viewing and storing of what's in all the nearby chest without going to each chest. Accomplished via a multi-tab window or something. Something being the keyword as i only might do this.

 

With all of the above, I think inventory management will become a fun game; not a tedious chore.

 

Note: Goals 2, 4, and 5 have a question of "what is nearby?" and I might let the claim block answer that question.

 

Note: Add a disconnect and high-ping fail-safe for the chest.

Link to comment
Share on other sites

  • 2 weeks later...

Great to hear you pursuing things further.

 

Also keep in mind there are many ways to get into SDX modding, including:

 

1) XML Only - Guppycur's Blood Moon. SDX allows you to merge those changes into any more

2) Asset only - Unity work, where you can replace models

3) PatchScripts - Where you can modify the main game's DLL

4) Scripts - Where you can add new classes and functionality

 

Only the last 2 need C# programming.

Link to comment
Share on other sites

Great to hear you pursuing things further.

 

Also keep in mind there are many ways to get into SDX modding, including:

 

1) XML Only - Guppycur's Blood Moon. SDX allows you to merge those changes into any more

2) Asset only - Unity work, where you can replace models

3) PatchScripts - Where you can modify the main game's DLL

4) Scripts - Where you can add new classes and functionality

 

Only the last 2 need C# programming.

 

 

Well in post #8 I don't think I can follow those plans without PatchScripts and Scripts.

Link to comment
Share on other sites

  • 3 weeks later...

I'm still going at it, had to drop the Unity course because of reasons listed in the OP...

 

Not related directly to the course, but i'm trying to understand API's and struggling with it, and libraries. I have a question: Is the SDX tool basically a fan-made API?

 

are the very lame .xml files like weak versions of an API provided to us by the devs?

 

are the .xml's kinda lame because that's the nature of .xml's or did the devs just not throw enough tags in them to make them very useful?

Link to comment
Share on other sites

I'd said SDX would be a fan-made API. It injects custom hooks into the game, allowing us to make additional changes, and extend classes that normally are not available for us.

 

XMLs allow us to edit and change data. It's a perfectly fine format to make changes. I wouldn't call it weak, or particular strong. Its just XML data that the Fun Pimps use, and let us make changes to it as well.

 

It depends on what you want to do with XML. Like I said, it's a perfectly fine way of doing changes to recipes, etc. There's limitations of course, but nothing wrong with it.

Link to comment
Share on other sites

I'm still going at it, had to drop the Unity course because of reasons listed in the OP...

 

Not related directly to the course, but i'm trying to understand API's and struggling with it, and libraries. I have a question: Is the SDX tool basically a fan-made API?

 

are the very lame .xml files like weak versions of an API provided to us by the devs?

 

are the .xml's kinda lame because that's the nature of .xml's or did the devs just not throw enough tags in them to make them very useful?

 

Were you under some kind of assumption that SDX was made by the Pimps or something?

 

The very talented people here have opened the doors for us in ways we would never be able to accomplish otherwise. Until Pimps open everything up to us (and there is zero promise that they will) anything like SDX is "fan made".

Link to comment
Share on other sites

Were you under some kind of assumption that SDX was made by the Pimps or something?

no. where did that come from? i said the xml's are dev made. the xml's seem like an API that's less capable and i was curious if they are considered an API because they seem to be an interface.

Link to comment
Share on other sites

finally!

 

a few years ago I took an introduction to C# course, and sadly forgot most all of it. Made a tic-tac-toe game with WinForm.

 

So from the date of my OP, i've been taking my time through this video course i payed for and most of it was just stuff I already knew, but had forgotten...

 

and today we are finally hitting New things. Now it should get much more interesting, and the instructor is finally even giving out real challenges that aren't equivalent to "1 + 1 = 2". So now all that i learn from here on out will actually expand my knowledge instead of rehash it. It's a nice change.

Link to comment
Share on other sites

finally!

 

a few years ago I took an introduction to C# course, and sadly forgot most all of it. Made a tic-tac-toe game with WinForm.

 

So from the date of my OP, i've been taking my time through this video course i payed for and most of it was just stuff I already knew, but had forgotten...

 

and today we are finally hitting New things. Now it should get much more interesting, and the instructor is finally even giving out real challenges that aren't equivalent to "1 + 1 = 2". So now all that i learn from here on out will actually expand my knowledge instead of rehash it. It's a nice change.

 

Excellent! Keep up the dedication

Link to comment
Share on other sites

So I comopleted my instructors first "Mega Challenge".

 

I had to make a casino slot machine, with 3 images.

 

From a coding perspective I had to make sure it tracked how much money the player had between pulls of the lever, check for win combinations, and no method should be more than 6 lines. Using what we've been taught so far.

 

Anywho, nothing major...it's just fun watching the process of my code go from a buggy, messy casino game, to concise and readable code that works well. (relatively concise, i'm sure i coulda done some things better)

 

Anyway if you like looking at small programs, i wouldn't mind talking about it after you take a look at the code here: https://1drv.ms/f/s!Asu7Op9-meU9ga86JhzRVJ34w6oF7Q it's the one titled MegaCasino

 

Note: This is Visual Studio ASP.NET with C# because that's how he's teaching it.

Link to comment
Share on other sites

  • 4 weeks later...

Update 3:

I've just about completed 1 of the 2 courses I'm taking. The one i nearly completed was about CS fundamentals, and the only thing in it i didn't touch was the stuff that went into databases. I'm not sure that's related to 7 days to die or it's servers.

 

As for course 2, the boring and less organized Unity course by a different instructor...I'm doing that one now.

 

Now i might be able to skip over some things in course 2, and make up for his shortcomings. Right this moment, i'm messing with really simple things like the transform class/object and getting a square to move across the screen with the left arrow. My 6 y.o. thinks it's riveting stuff :p

 

actually i lied, while he likes it, he's not at the edge of his seat to learn it. maybe i should show him what java can do to minecraft.

Link to comment
Share on other sites

Sounds good! Database stuff isn't really necessary at this point, although an understand of Linq is really good. Not exactly a database level of thing, but sometimes those are merged together.

 

When doing the Unity course, keep in mind that not all features of Unity are supported or work when applied to the game. Sometimes the coolest stuff eludes us when we apply it into the game, even if it worked in Unity.

Link to comment
Share on other sites

Sounds good! Database stuff isn't really necessary at this point, although an understand of Linq is really good. Not exactly a database level of thing, but sometimes those are merged together.

 

When doing the Unity course, keep in mind that not all features of Unity are supported or work when applied to the game. Sometimes the coolest stuff eludes us when we apply it into the game, even if it worked in Unity.

 

1) course 1 mentioned Linq as being some kind of great tool but he didn't really go beyond saying that because it was for a different video course.

 

is it useful for 7 days?

 

2) I think i know what you're talking about, but the unity course happens to be for Unity 5.1 so it should be very close.

Link to comment
Share on other sites

1) course 1 mentioned Linq as being some kind of great tool but he didn't really go beyond saying that because it was for a different video course.

 

is it useful for 7 days?

 

2) I think i know what you're talking about, but the unity course happens to be for Unity 5.1 so it should be very close.

 

LINQ is very useful to understand if you are doing some SDX PatchMods. It's an isolated use case, but very valuable.

 

2) Some things may look fine in the Unity editor, whereas in game they don't always look or work the best. Some features, like loading Scripts, are poorly understood, and most don't work. Legacy Animations are the only ones we know that work; Mechanim and Humanoid animations not so much.

 

Lots of "gotchas" in Unity work. It's fine as long as we have realistic expectations that some features of the Unity aren't applicable or work in the game.

Link to comment
Share on other sites

Some features, like loading Scripts, are poorly understood, and most don't work. Legacy Animations are the only ones we know that work; Mechanim and Humanoid animations not so much.

 

woa woa woa...loading scripts? do you mean when i attach a script to a gameobject or something that the custom c# code i write won't work? like how does that even work then?

Link to comment
Share on other sites

woa woa woa...loading scripts? do you mean when i attach a script to a gameobject or something that the custom c# code i write won't work? like how does that even work then?

 

Attaching a script onto an object works great in unity. It wont be read though by 7d2d. The logic of that script needs to be rewritten into a new script, and then added to the scripts folder in your sdx mode. This is still voodoo to me, but I learned this after my Unity scripts didn't work, and Morte and Sphereii's SDX scripts did.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...