Yeah, I noticed that problem too. And it won't work in InitProc because the screen gets redrawn and it gets erased. Maybe I should try a time trigger. Actually..., why maybe?
... /me tries a time trigger.
Yep. It seems to (mostly) solve the problem. When scrolling you can kinda see a bit of a trail, but it gets cleaned up fairly quickly. It never leaves traces behind permanently this way.
Anyways, here's some quick and dirty code to do it. Although, I'm sure Eddy has already seen it. <_<
SCRIPT_API void TrigMessage()
{
char *string = "You are n00b, our colony is doomed!";
int FuncAddr = 0x4085C0;
__asm
{
MOV ECX, 0x5756C0 + 0x1F4
PUSH string
CALL [FuncAddr]
}
}
In case you're wondering, 0x5756C0 seems to be the address of Dans_RULE_UIFrame. It contains a subobject that handles the drawing.