I've had this code done for a while now, but never got round to releasing it. The few people I've given it to found it more helpful than the DirectX Hook/SCM Hook combined, and so.. here it is.
The code should allow you to make missions in C++, although alot of the functions might need adding to the script classes (you'll see what I mean when you get it ). Doing this allows you to write mission code in the format of...
|pSwatVan->GetRelativeCoordinates(-8.0, 30.0, 3.0, &fX, &fY, &fZ);|
pGame->SetCameraPosition(fX, fY, fZ, 0.0f, 0.0f, 0.0f);
while (pGame->Fading()) SCRIPT_WAIT(0);
pGame->TextNow("!CAUGHT", 4000, 1);
...which would set the camera relative to the swat van vehicle, point the camera at the swat van, wait a second, fade in for 1 second and then display the "!CAUGHT" text for 4 seconds.
The last command in the above sample code, pGame->TextNow, displays text from a GXT entry, but with the included GXT hook, you can add your own "fake" gxt entries (prefixed with an exclamation mark) as I have done with "!CAUGHT"...
|spookie_dot_gxt GxtEntries =|
"", L"NOT FOUND",
"!CAUGHT", L"The feds have picked up Phil and Hilary for questioning!"
Anyway, I'm going to cut this post here, as I'm sure that I am rambing on (it was a long night last night )
Have fun with it, and Happy New Year!