Page 2 of 4
Re: xLinkingBookDefs.py
Posted: Thu Dec 19, 2013 5:16 am
by Sirius
Hmm... Do you plan to use it on CC (and DI) or a MOUL-based server ?
If you're building on CC, you have two choices :
- Use D'Lanor's dynamic book template. You can do almost anything with it, but it requires knowing a bit about Python.
- Use a simpler script which is already included in the Offline-KI. It's less "flexible" than D'Lanor's, but you don't need to know anything about Python.
The tutorial to use it is for Blender, you might be able to figure out the setup for Max.
(you may need to download the original Python scripts for it to work)
I'm wondering... except the dreadful xLinkingBooksDefs.py and xLinkingBooksGUIPopup.py, what other script do MOUL-based shards use ?
Deledrius wrote:In an ideal world this stuff would be data-driven correctly and not thrown in a script file like it is, so that Age writers could write their stuff without needing to interact with global scripts. Maybe we'll get there someday.
Honestly, I never understood why Cyan didn't create some kind of plLinkingBook modifier for regular books, instead of linking responders...

Re: xLinkingBookDefs.py
Posted: Thu Dec 19, 2013 7:09 am
by GPNMilano
Sirius wrote:Honestly, I never understood why Cyan didn't create some kind of plLinkingBook modifier for regular books, instead of linking responders...

Because linking responders are also used outside of using a book for linking. With the expansion of the story to include Yeesha and the Bahro it was necessary to control linking within the game engine in a variety of different ways. One class alone would not be enough to cover all the various ways in which linking was going to occur in the game.
Re: xLinkingBookDefs.py
Posted: Thu Dec 19, 2013 10:13 am
by Sirius
I know linking responders are also used for Bahro caves, Yeesha magic, and such. But since most linking books behave the same way (excluding special books, like Ahnonay's), I think it would be better to make a single modifier that would take only a few parameters, such as age name, spawn point, link panel texture, and linking rule.
Other linking methods would use the linking responder or the Python command. Or, if someone wanted more complex books (like Ahnonay's), they could use a Python script to tweak the modifier's default behavior.
But IMHO storing all the available links in a single file is a bad idea. You have to edit a Python file just to add a gameplay mechanism which is quite common in the game.
Plus, the xLinkingBookGUI script is a real mess: it stores code for both linking books and bahro stones, code for the Relto library (in addition to psnlBookshelf, which is also linked to psnlBahroPoles), code for Ahnonay's book, code for the pellet cave, code for Tomahna sunny/rainy, code for the neighborhood book on Relto...
Re: xLinkingBookDefs.py
Posted: Sat Jun 28, 2014 1:21 pm
by Karkadann
Against Adams better judgment I started messing with the xLinkingBookGUIPopup.py. But not the xLinkingBookDefs.py and I got the linking and the LinkOut Animation working without freezing the game. Now I know you guys told me not to mess with it but I got board and was trying to find an easier way of setting up a linking book. I got most of it working, just no GUI popup
Re: xLinkingBookDefs.py
Posted: Sat Jun 28, 2014 9:14 pm
by Nev'yn
As the major non-techy person here, let me deliver the message in a less confusing way:
Hoikas, and the GoW/H'Uru team is trying to avoid adding new/unstable code created by individual Age writers...Each using their own jury-rigged, held together by bailing wire computer code...Instead working together to put forth a master safe and stable version, instead.
(Which for all I know, they already have a demo copy of...Just saying...Anys, gotta go.)
Oh, look...cookies...Cookies are yummy.
Re: xLinkingBookDefs.py
Posted: Sat Jun 28, 2014 10:33 pm
by Deledrius
Nev'yn wrote:
Hoikas, and the GoW/H'Uru team is trying to avoid adding new/unstable code created by individual Age writers...Each using their own jury-rigged, held together by bailing wire computer code...Instead working together to put forth a master safe and stable version, instead.
Kinda. The goal is to keep Age-specific code out of the global code, and to keep global code out of the Age-specific code. That sort of separation is essential in a shared, collaborative environment.
Re: xLinkingBookDefs.py
Posted: Sun Jun 29, 2014 6:16 am
by Karkadann
All I did was fill in the various drop down menu's and boxes available in the python component in Max, I did not get into the python code itself.
Nev'yn wrote:
Oh, look...cookies...Cookies are yummy.
Cookies make you fat, and tend to mess up your computer
Re: xLinkingBookDefs.py
Posted: Sun Jun 29, 2014 8:06 am
by Deledrius
Karkadann wrote:All I did was fill in the various drop down menu's and boxes available in the python component in Max, I did not get into the python code itself.
That's precisely how it's supposed to work.

Re: xLinkingBookDefs.py
Posted: Sun Jun 29, 2014 10:58 am
by Karkadann
I DID IT, I DID IT! At least I think I did it.
I figured out a way to do a linking book, with a work around for the GUI popup. Without going into the python script and messing stuff up. I just used what was available in the component thingy
It links to the Stonehenge for now The whole thing needs a bit of polish still, but I think I got the concept working.
Check it out, tell me what you think
Re: xLinkingBookDefs.py
Posted: Mon Jun 30, 2014 1:04 am
by Ehren
Karkadann wrote:I DID IT, I DID IT! At least I think I did it.
I figured out a way to do a linking book, with a work around for the GUI popup. Without going into the python script and messing stuff up. I just used what was available in the component thingy
It links to the Stonehenge for now The whole thing needs a bit of polish still, but I think I got the concept working.
Check it out, tell me what you think
This is a great way to do the links! You even arrive at the target age with the outstretched arm animation. Also, I like that it could function even with just the default xLinkingBookGUIPopup from CC.
So it easily worked with my own array of custom edited python files, suggesting that it works very universally.