Jump to content

ZT EMU API


Goosifer

Recommended Posts

Good luck with your mid-terms.

  • Love 1
Link to comment
Share on other sites

Thank you so much! It's for my Intro to Databases class (SQL 🤮), it's like learning how to use Excel but with only words, no GUI, and no more coffee because it’s 5 pm. We'll make it through though!

  • Love 2
Link to comment
Share on other sites

Savannahjan
On 4/20/2023 at 8:41 PM, Eric said:

Please pay no mind to Patricia near the bottom-left. We just let her do her thing.

:animated-smileys-laughing-291:

 

All this is way over my head, but it's really interesting to get a glimpse into the 'innerds' of the game. 

  • Haha 1
Link to comment
Share on other sites

😂 I’m glad you think so!  I can feel the yawns as I write these updates so I hope it’s not too boring to read! 
 

I’m also learning traditional ole (traditionole?) ZT1 modding on the side so those should be more fun to share!

 

”Innerds”…😆

  • Like 1
Link to comment
Share on other sites

not yawning Erik trying to make sence of it and failing within the first five words

But I am very happy with a very clever Zootek friend as they make all kinds of wonderful things

  • Love 1
Link to comment
Share on other sites

Khaydar

Hey! Saw your post on Discord and came to check out.
Could the money income be tied to benefactors? Those only extist as a numerical value, I would expect to see the money under donations. Little is known about how benefactors work, like long they "exist" before expiring and the rate they give money. The probablity of a happy guest leaving the zoo resulting in a benefactor is currently unknown, as for how much a guest needs to be happy to count as potential one.

The restaurant capacity can be changed, I believe I've seen buiding capacity lines somewhere when messing with original game files. Most game "coding" are easy to look into with a mere notepad or Visual Studio Code. The exception seems to be dll files (for me) and the compiled stuff.

  • Like 2
Link to comment
Share on other sites

Hey, thanks for sharing!  Yeah I figured it would have something to do with donations of some kind but I couldn't find a reliable way to track the source unless I can find the function it's coming from and do some guesswork who or what it belongs to.

 

That's so cool to know, thank you! I want to dive into ZT1 mod-making just to learn how to read those files. There are plenty of 'values' I'm sure that will help with the assembly probing.

 

9 hours ago, pukkie said:

not yawning Erik trying to make sence of it and failing within the first five words

But I am very happy with a very clever Zootek friend as they make all kinds of wonderful things

 

Ahh I'm so sorry Pukkie! I could do a better job explaining the mumbo jumbo.

 

And yes, thank you Zootek friend!

Link to comment
Share on other sites

8 hours ago, Khaydar said:

The restaurant capacity can be changed, I believe I've seen building capacity lines somewhere when messing with original game files. Most game "coding" are easy to look into with a mere notepad or Visual Studio Code. The exception seems to be dll files (for me) and the compiled stuff.

Building capacity is set when making a building. And be very careful with them as there are two lines and they should match.

It is part of the ai or ucb. Same as you can set the entry fees and upkeep fees etc.

 

As for starting budget and starting dates they can be changed. Jay taught a couple of people how to do that for Zoo base maps.

 

For the dll there are strict sequence rules about the way they are used or you get problems. Most of the public "used" lists around are out of date and were usually incorrect to start with. The only person likely to know what is available is Jay. He tracks anything new with those. The reservation list is over at ZKL. Altering the ingame ones in the past has caused problems. Apparently there is a size limit on them as well.

Link to comment
Share on other sites

1 hour ago, Fern said:

As for starting budget and starting dates they can be changed. Jay taught a couple of people how to do that for Zoo base maps.

 

Yeah I figured these were already editable somewhere, especially anything loaded from a save file for example. Usually with these kinds of reverse-engineering projects they start with a value on the UI you can easily track, and when you find the parent functions that call it, it gets you to more interesting things that might be worth abstracting in an API.

 

In this case, the budget was perfect because you can very-quickly locate the function that calls it, and then track it as it changes to confirm you found the source instructions for it. Things like player camera location (like how a scenario forces you to center on an exhibit), animal and guest name generation, game memory limitations, etc--those are what interest me a little more down the line but it's easier to start with easy values. I'll probably stick with values that are already-accessible in the game files to get a feel for how I can hook onto the virtual memory.

 

The value in this project eventually would, in theory, be taking control of the game logic even with things already available in the game files. For example, in other game APIs available elsewhere on the 'nets, you would have the ability to do something like:

 

if (guest.mood == behavior.unhappy)
{
  spawn.funny_angry_running_mascot.ztd
  budget = getBudgetValue()
  setBudgetValue(budget - 500)
}

 

You could see a lot of control over the game that will let you add in new behaviors, custom scenarios (that are easier to make), etc. I think that it's dangerous for me to promise any of this and I don't want to, but I wanted to sort explain where my head is at and why an API can be interesting even with things that at first might sound redundant, if that makes sense.

Link to comment
Share on other sites

Nor necessarily. If that was possible it would most likely have been done. ZT has had several programmers on the various sites. Two I know of currently. Jay has been a programmer for probably 40 or more years. It was his real life job. jbl who is a member of this site created ZT Studio, is also capable of programming but English is a second language for him. The founder of this site LAWebTek I think was also a programmer. Casey (ex ZA) discovered the way the dll sequences work. Several of us know how edit them.

Speaking of dll ids.....there are only a certain amount of them available and we ran out once. Jay found what ones could be used.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...