The Dink Network

Reply to Re: Why Can't I Quit You, DinkC?

If you don't have an account, just leave the password field blank.
Username:
Password:
Subject:
Antispam: Enter Dink Smallwood's last name (surname) below.
Formatting: :) :( ;( :P ;) :D >( : :s :O evil cat blood
Bold font Italic font hyperlink Code tags
Message:
 
 
January 7th 2014, 07:52 PM
dinkdead.gif
Got curious and did some testing, I seem to have found the (weird) solution.

Firstly though, why so many variables? Unless you need them elsewhere, it seems a bit unnecessary.

You could call them all &credit and just put
sp_kill(&credit, 10000)
after each say_xy line.
Or not use any new variables at all and put
sp_kill(&return, 10000)
after each line.

Anyway:

When I made a test script with some text on the screen using say_xy, it was not skippable whether frozen or not. If a say_stop was in the script previously then the following say's were then skippable. Strange but true. Perhaps other things cause this to happen other than say_stop, I didn't test that far.
If you need say_stop somewhere you can get around it by putting the text that should not be skippable in a separate script (or function... some say it's the same thing. dang DinkC).

//test 1 - text cannot be skipped
void main (void)
{
	freeze(1)
	say_xy("1", 0, 150)
	sp_kill(&return, 5000)
	say_xy("2", 0, 175)
	sp_kill(&return, 5000)
	say_xy("3", 0, 200)
	sp_kill(&return, 5000)
	
	wait(6000)
	unfreeze(1)
}
//test 2 - text CAN be skipped
void main (void)
{
	freeze(1)
	say_stop("blah blah", 1)
	say_xy("1", 0, 150)
	sp_kill(&return, 5000)
	say_xy("2", 0, 175)
	sp_kill(&return, 5000)
	say_xy("3", 0, 200)
	sp_kill(&return, 5000)
	
	wait(6000)
	unfreeze(1)
}
//test 3 - text cannot be skipped
void main (void)
{
	freeze(1)
	say_stop("blah blah", 1)
	talk()
	unfreeze(1)
}

void talk (void)
{
	say_xy("1", 0, 150)
	sp_kill(&return, 5000)
	say_xy("2", 0, 175)
	sp_kill(&return, 5000)
	say_xy("3", 0, 200)
	sp_kill(&return, 5000)
	
	wait(6000)
}

(Note say_stop can always be skipped)