Forum > Showoff - what you are working on

Scene Scripts: client side NPCs, animations, cut scenes, ...

(1/4) > >>

schlumpf:
They are MoP only.

I'm currently unable to initiate them myself; the server tells the client to play a scene.
The server spawns a CGSceneObject. The scene can only play while that object exists.

Scene scripts are in lua, can't interface with the UI though and have a special API, allowing to modify the world in different ways.

Modifying the Varian Gets Punched scene:
Instead of camera movement, spawn a field of ???:


Instead of ???, use a specific model:


Instead of just spawning a model, clone the player, phase out the actual player, then randomly run around.
[youtube:28k4mg7v]http://www.youtube.com/watch?v=a-UbMUQ83BU[/youtube:28k4mg7v]

An excerpt of functions (without arguments) and variables available in the API:

* some early beta: http://pastie.org/private/m9u8qgeettitp2i2akfg
* 5.2: http://pastie.org/private/1db30iahtfsec9cs3hb7bq

stoneharry:
Very nice, thanks for documenting.

Why is it only MoP? I thought scene scripts were implemented in Cataclysm. Most of Uldum is based around them.

schlumpf:
That's not SceneScripts, but server side scripts, IIRC. At least, there is nothing with Uldum showing up in the database. Remind me to put up a list of all scripts up later.

stoneharry:
Any more progress on this?

schlumpf:
Nope. The next steps are intense in reverse engineering:

* Instead of reading from the DBC directly, the client caches the script data in a dynamically allocated array. That could be good for runtime-insertion, requires reverse engineering the whole container code though.
* There is still no way to trigger a scene script easily. I either need to create a CGSceneObject in memory myself and get it into knowledge of the client, despawn it when the script is done, or find a way to play a scene script without having such an object (should not be possible, as the position of that object are used inside scripts)
* Start script without inserting into container?
* How to bridge between interface LUA and scripts?

Navigation

[0] Message Index

[#] Next page

Go to full version