Page 1 of 1

Bug in Offline KI 3.6.1

PostPosted: Tue Feb 07, 2012 5:48 pm
by sekournen
Hey just thought people should know after installing the offline KI it caused several bugs in the Kadish Tolesa age, well it did for me at least. It makes the pillar puzzle not function as well as not putting the sanctuary book in the bookshelf at relto. just fyi (>o.o<)

Re: Bug in Offline KI 3.6.1

PostPosted: Wed Feb 08, 2012 4:50 am
by Sirius
About the pillar room: do you have the sparkly (addition from MO:ULa) installed ?

I'm pretty sure it has to do something with the fix D'Lanor added to make sure it is parented to the pillar.
In the pillar script:
Code: Select all
        objSparklyDecal = PtFindSceneobject('CalendarStarDecal', PtGetAgeName()) # leave the spark and the regions where they are, they are not supposed to move
        objPillar = PtFindSceneobject('pillar03', PtGetAgeName())
        dst = objPillar.position()
        xUserKI.WarpObjectToPos(objSparklyDecal, dst.getX(), dst.getY(), dst.getZ()) # warp decal to pillar (it will be just at the top)
        PtAttachObject(objSparklyDecal.getKey(), objPillar.getKey()) # and attach the two to each other
I think it should be:
Code: Select all
        try: # don't fail if there is no sparkly
            objSparklyDecal = PtFindSceneobject('CalendarStarDecal', PtGetAgeName()) # leave the spark and the regions where they are, they are not supposed to move
        except:
            print "No sparkly to attach"
        else:
            objPillar = PtFindSceneobject('pillar03', PtGetAgeName())
            dst = objPillar.position()
            xUserKI.WarpObjectToPos(objSparklyDecal, dst.getX(), dst.getY(), dst.getZ()) # warp decal to pillar (it will be just at the top)
            PtAttachObject(objSparklyDecal.getKey(), objPillar.getKey()) # and attach the two to each other
It first looks for the two objects to attach, then parent them, then some other instructions about the pillars are executed. Which means these are skipped if the engine can't find the sparkly object.

As for the book, the way the Relto bookshelf works is different in the Offline-KI (with the new book covers and books for fan-Ages). I'll leave this to someone who knows better how it is supposed to work.

Re: Bug in Offline KI 3.6.1

PostPosted: Wed Feb 08, 2012 7:40 am
by Tsar Hoikas
That fix looks correct. If the sparkly is not in the age, the script will crash without the try... catch. Once an instance of a script crashes, Uru blacklists it and won't try to run any portion of it again.

Re: Bug in Offline KI 3.6.1

PostPosted: Wed Feb 08, 2012 10:31 am
by diafero
I added the patch to the Offline KI, thanks. It will be in the next release, which I will do after my exams (end of February). Thanks for finding and fixing it!

Do you mean the Watcher's Sanctuary? You don't have to collect that book, it's right there from the start.
If it is not, could you please start Uru, and quit immediately, and send me the Python.0.elf file (see my signature for my email address)?

Re: Bug in Offline KI 3.6.1

PostPosted: Wed Feb 08, 2012 2:25 pm
by D'Lanor
Just for the record, that safety catch was present in my code example. ;)

Re: Bug in Offline KI 3.6.1

PostPosted: Thu Feb 09, 2012 3:20 am
by diafero
As the comment says: "fix (partially by D'Lanor) to attach sparkly to pillar" - the buggy part is naturally the one I wrote ;-)