Modcraft - The community dedicated to quality WoW modding!
Community => Showoff - what you are working on => Topic started by: schlumpf on March 01, 2013, 09:54:01 am
-
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 ???:
(http://d.pr/i/GxQE+)
Instead of ???, use a specific model:
(http://d.pr/i/CB6d+)
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 (http://pastie.org/private/m9u8qgeettitp2i2akfg" onclick="window.open(this.href);return false;)
- 5.2: http://pastie.org/private/1db30iahtfsec9cs3hb7bq (http://pastie.org/private/1db30iahtfsec9cs3hb7bq" onclick="window.open(this.href);return false;)
-
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.
-
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.
-
Any more progress on this?
-
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?
-
Hi, can you make some tutorial for using this?
And this works only in MOP or works in Cata as well?
-
They are MoP only.
-
And above.
There are no proper tools and everything, so tutorials would require a shitload of work.
-
Okay, then I need to figure out by myself.
One more question where I can find this .luas ?
-
DBFilesClient/SceneScript*.db2
-
I can't find them :(
-
They are inside the databases. There are no separate lua files.
-
Finally I found it :)
One more thing, I can convert it to SQL but can't convert back because DB2Edit 1.4 don't work for me.
-
I don't even know that application, so I can't help you.
-
What do you use?
-
I wrote my own handling directly converting between db2 and filesystem.
-
Okay I`m not that good, I am olny wwb-programmer. But now I don't give up that colse to my taeget . BTW Thank You for help