MCP - Mesh Control Panel

MCP is CUSTOMIZABLE engine made mainly for meshers, but can be also usable for other creators too.
It was coded to make possible of making control panels for meshes.
It allows to create own flash panel with complete own graphics, and not only.
Engine communicates with meshes silently by default.
Graphics are SYNCHRONIZED for all avatars on mesh.
Short loading screen shows only when any graphics are loaded.
When its text chat things only, it work silently (u can make some surprise things).
Some ideas:
- panel to control multi-user space ship, flying machines, car, avatar look (hidden codes), DJ console (sound triggers) and others.
- hidden work with text chat controlled with milisecond timers, like welcome or surprise funny messages, sound triggers or avatar look and action changes (hidden codes). 

* TRY EXAMPLE MESH *

How to work with MCP?
Simply, prepare background and button graphics.
Next, create trigger.txt file (see more details below).
Copy graphic files and txt configuration file into ASSETS in CREATE MODE (its small folder icon on top), click APPLY CHANGES and seat to test it.

*** trigger.txt used in default example ***
||||boardwelcome,0
bg.png|0|0
b1.png|59|33|2000|boardstop,0,boardmovefoward,200
b2.png|17|62|2000|boardstop,0,boardturnleft,200
b3.png|100|62|2000|boardstop,0,boardturnright,200
b4.png|59|91|0|boardstop,0,boardcoursemode,200
b5.png|59|120|-2000|boardalert,0
b6.png|30|120|-2000|boardtransformmale,0,'*use 191',0
b7.png|142|120|-2000|boardtransformfemale,0,'*use 80',0

*** trigger.txt detailed description ***
Configuration file should contain lines, where each line has informations separated with |.
Order is important.
Structure of data line:
graphicfilename|xposition|yposition|graphicofftimer|trigger1,runtimer1,trigger2,runtimer2
* 1st cell (graphicfilename) *
Name of graphic file which should be copied into ASSETS with trigger.txt. JPG, GIF or PNG images are supported.
If you leave this cell empty, engine will automaticly send trigger after its runtimer.
* 2nd cell (xposition) *
Its horizonal position (x) of graphic file in pixels.
* 3rd cell (yposition) *
Its vertical position (y) of graphic file in pixels.
* 4th cell (graphicofftimer) *
Its time in miliseconds (1000 ms = 1 s) after graphic file will be turned off. In other words, its time only for graphics which send triggers (like light or turned on button, switch) after you click on them.
There are three types of timers:
- negative number (like -2000), which makes graphic file independent from others (it will not be disabled when other graphic is clicked)
- 0, which makes graphic file visible, until new wth 0 or positive number (its for looped triggers, which stops after new dependent)
- positive number (like 2000), which makes graphic file dependent from others (it will be disabled when other dependent graphic is clicked)
* 5th cell (trigger1,runtimer1,trigger2,runtimer2) *
Its place where you type triggers to be run with time delay in milseconds (1000 ms = 1 s). You can type as many of them as you need, just separated with commas.
There are two types of triggers:
- hidden trigger (you just type trigger which runs silently)
- plain text trigger (it will be displayed by avatar on text chat, unless you will use hidden codes ) which you need to put between apostrophes (like 'hello all').

*** trigger.txt default example description ***
* ||||boardwelcome,0 *
Will run boardwelcome trigger in 0 miliseconds after you join product (its welcome sound in example mesh).
* bg.png|0|0 *
Will set graphic background.
* b1.png|59|33|2000|boardstop,0,boardmovefoward,200 *
Will set graphic button on position (horizontal x 59 and vertical y 33 pixels) visible for 2000 miliseconds after its clicked, with triggers boardstop (run after 0 miliseconds) and boardmovefoward (run after 200 miliseconds).
* b2.png|17|62|2000|boardstop,0,boardturnleft,200 *
Similar to b1.png button.
* b3.png|100|62|2000|boardstop,0,boardturnright,200 *
Similar to b1.png button.
* b4.png|59|91|0|boardstop,0,boardcoursemode,200 *
Similar to b1.png button, but timer is set to 0 miliseconds, so it will be visible untill new dependent trigger (its looped animation in example mesh).
* b5.png|59|120|-2000|boardalert,0 *
Similar to b1.png button, but timer is set to -2000 miliseconds, so it will be visible all of tis time, even if other graphics will be clicked (its indepedent sound in example mesh).
* b6.png|30|120|-2000|boardtransformmale,0,'*use 191',0 *
Similar to b5.png button, but it sends also plain text to text chat as second trigger.
* b7.png|142|120|-2000|boardtransformfemale,0,'*use 80',0 *
Similar to b6.png button.

*** ADDITIONAL FEATURE: KEYBOARD SHORTCUTS ***
You can also add keyboard shortcuts (as 6th optional cell) to control your mesh.
Example 1: b1.png|59|33|2000|boardstop,0,boardmovefoward,200|38
38 code means that triggers will run when you press Up Arrow key.
Example 2: b1.png|59|33|2000|boardstop,0,boardmovefoward,200|(38)
(38) code means that triggers will run when you hold Shift key and press Up Arrow key.
Parentheses are using to combine key codes with Shift key.
All key codes (most of them are same as ASCII ones) you can find here:
http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html
IMVU BLOCKS KEYBOARD WHEN TEXT CHAT IS TURNED ON.
YOU HAVE TO SWITCH INTO INVENTORY OR TURN TEXT CHAT OFF, AND CLICK ON PANEL BACKGROUND.

NOTE: IF YOU HAVE ANY PROBLEMS OR QUESTIONS, FEEL FREE TO CONTACT ME. THANKS.

Related: