[quote data-userid="1205" data-postid="83571"]
When I first started with DizzyAGE I wanted to use the TID style message scrolls and I couldn’t work out how you’d done it! Now I’m getting more confident I think I could, if it were an old-style game with a black background. Speaking of which, have you thought about updating with a blue background? I saw some mock-ups somewhere and it looked pretty cool.
[/quote]
First off the scrolls...
To create the scrolls I screen captured each one, saving them to a .tga file for dizzyage.
On the map I would place this graphic, minus the bottom scroll bar. I would then give the graphic an ID (say 100), and in the user properties I would set #32 to the exact height of this placed graphic (found under brush #4 h)
I would then place the bottom scroll bar below this graphic, setting the ID to +1 of the top half.
Both parts of the scroll should be set as dynamic and disabled.
I would then call the below function, passing in the top half of the scroll ID.
#def O_SCROLLH 32
func ShowScroll ( id )
{
// Set the ids for the objects
idxtop = ObjFind( id );
idxbot = ObjFind( id+1 );
// if any of the ids can't be found then exit the function
if( idxtop==-1 || idxbot==-1 ) return;
// Pause the game
GamePause(1);
// set the scrolls to their closed state
oy = ObjGet(idxtop,O_Y);
ObjSet(idxtop,O_H,8);
ObjSet(idxbot,O_Y,oy+8);
// enable the scrolls now they are in the closed state
ObjSet(idxtop, O_DISABLE, 0);
ObjSet(idxbot, O_DISABLE, 0);
// Get the variables from the objects
// y = the y position on the map for the top of the scroll
// h = current height of the scroll
// boxh = the full height of the scroll
y = ObjGet(idxtop,O_Y);
h = ObjGet(idxtop,O_H);
boxh = ObjGet(idxtop,O_SCROLLH);
while(h != boxh)
{
// Open the scroll
h+=2;
if (h >= boxh) h=boxh;
WaitFrames(3);
// Update the height of the scroll top and bottom
ObjSet(idxtop,O_H,h);
ObjSet(idxbot,O_Y,y+h);
if(h==boxh) break;
}
// Wait for the user to press the action key to continue
DialogRun();
// Disable the Scroll
ObjSet(idxtop, O_DISABLE, 1);
ObjSet(idxbot, O_DISABLE, 1);
// Unpause the game
GamePause(0);
}
And yes, it will have a blue sky background :smile: