Karkadann, when exactly is the game crashing ? Is it on link-in, when clicking the scope, after the avatar walks towards it, after the avatar is done placing his hands on the sides ? I can think of a few things that might crash the game.
Crash on linking: Plasma can't read something, which usually shouldn't happen.
Crash when clicking the scope: that's related to what DenDwaler said, the object does not have a coordinate system. Because of that, the SmartSeek (which forces the avatar to line up with the behavior object) fails finding this system, which might cause Plasma to crash (just guessing). This is also what happens when animating an object which does not have this interface (controlled by the "Actor" button in Blender), because Plasma attempts to store the object's location in this non existing coordinate system.
But if you managed setting up Linking Book animations it shouldn't be the issue.
Crash after the avatar walks towards the scope: somehow the animation in the behavior is not set correctly, although I doubt that's your issue here.
Crash after placing hands on the scope: probably because you use a file named xTelescope (I think) and DIDN'T SET A CAMERA. When using this file, you
must set the camera object, because the Python forces Plasma to use this object. Plasma will crash if you don't have this set to a valid camera object (... and yes, I had this issue recently with some other Python script). I think this might be the issue.
As for the behaviors, they are really useful to control the avatar. Want an example ? I used them to rewrite the Wall climbing in Gahreesen
![Wink ;)](./images/smilies/icon_e_wink.gif)
.
I don't remember the whole of it, but here is what its properties looks like when exported (settings for a scope will follow):
- Freeze Physical: often false. Never noticed a difference.
- SmartSeek: if set to true, the avatar will line up with the object before playing the animation. Recommended.
- Reverse Forward-Backward control on release: often false. What it does is detailed later.
- Receivers: not sure there is a way to set it up directly, that's the Python component which must control the animation. I think it is automatically set to the one attached to the object.
Animations:
- Name: obviously the animation name, minus (Fe)Male
- Loops: how many times the animation must look before going to the next animation. Used mainly for ladder objects, although in the case of telescopes, you want to set it to -1, to loop forever (or at least, until the Python tells the animation to abort)
- Notify: what kind of notify to set to the receiver. If you want the Python script to receive messages from the multi stage thing. Has three types: on enter (starting animation), on advance (when the animation is done), on loop (when a loop finished executing), and on regress (when animation is playing backward and finished. More details to follow).
- Forward type, Backward type: has three parameters. Auto: automatically play the anim. On key: the player will have to press Up and Down key to run the animation forwards or backwards. Generally used for ladders (when "Reverse Forward-Backward control on release" is set, animation will play backwards if you don't press the up key). None: don't play the animation (rarely used).
- Advance and Regress type: what to do when anim is finished. Auto: automatically go to next (or previous) animation. On key: same as Forward type. None: don't go to another anim.
- Advance and Regress to: if set, when animation is finished it will automatically go to the animation with this number.
Alright, as you can see, lots of stuff here, and generally controlled by Python. Now, settings for the xTelescope.py:
- Make the behavior object have a coordinate interface (don't know how it's done). Make sure the object's origin is where you want the avatar to play the animation
- Attach the Python script to it.
- Freeze physics: False
- Smart Seek: True
- Reverse FB controls: False
- Animation number 0: GlobalScopeGrab, 0 loops, Notify on Advance, Forward and Advance type: auto, the rest to none.
- Animation number 1: GlobalScopeHold, -1 loop (loop forever), no notification, Forward type: auto, the rest to none.
- Animation number 2: GlobalScopeRelease, 0 loops, no notification, Forward and Advance type: auto, the rest to none.
Whew ! That was a long post. Hopefully it should help you figure out how to do this
![Razz :P](./images/smilies/icon_razz.gif)