My guess is you're trying to get Dink to bow... while he gets knighted or something. Cool idea.
Simpliest way is to make Dink disappear and create a fake dink to do the bow (the first two frames of Dink's death sequence). This is how Seth did Dink getting up from the beach in Mystery Island - and I used the same theory for Dink doing he's dance in Creeping Sands.
So... assuming Dink is already frozen...
conversation...
&save_x = sp_x(1, -1);
&save_y = sp_y(1, -1);
sp_nodraw(1, 1);
int &fakedink = create_sprite(&save_x, &save_y, 0, 436, 1);
sp_pseq(&fakedink, 436);
sp_pframe(&fakedink, 1);
wait(100);
sp_frame(&fakedink, 2);
wait(1000);
//have the knighting stuff said...
sp_nodraw(&fakedink, 1);
sp_nodraw(1, 0);
sp_active(&fakedink, 0);
and on with the show... :o
I agree with Kyle. You probably need to use sp_seq. And then maybe sp_nocontrol, much like the attack animation is done for a weapon. But I don't totally understand what you wish to do. The best wa to control how long the extra frame play would probably be a set_frame_delay statment, either in dink.ini with with an init command. Though that may not be a good idea if the frames in question are used somewhere else.
The other posibility is to set dink's idle to -1 and show all the frames, including the normal idle frames manually.
: I agree with Kyle. You probably need to use sp_seq. And then maybe sp_nocontrol, much like the attack animation is done for a weapon. But I don't totally understand what you wish to do. The best wa to control how long the extra frame play would probably be a set_frame_delay statment, either in dink.ini with with an init command. Though that may not be a good idea if the frames in question are used somewhere else.
: The other posibility is to set dink's idle to -1 and show all the frames, including the normal idle frames manually.
I think paul hit it right here. Change the idle to -1, then put the frame delay at something real high, like 10 seconds, or something obscene, switch to it the way you had, wich sp_seq too. Then you just wait as long as you want the frame up, and dink will just sit there on that frame. Then you switch to the next for a while, then change it all back.
Another way would be to have just those two frames you want be an animation of sorts. You could set his idle to -1 and switch his sp_seq and everything to the proper seq, and in dink.ini put the delay for those two frames at whatever you want. Then just wait for the set amount of time and change his idle back.
Not sure which of these meathods you should use, or if either will work...but they should..
: What I want to do is, in the middle of an animation of a sequence, to stick in a frame from a completely different sequence to replace the original animation a controlable amount of time then go back to normal. I have made an animation and stuck in said frame but it just flikers in and out. I tried fiddling with the frame_delay but it messed with the original animation as well. Am I making sense?
: Here is the script I attatched to an animation of idle Dink:
: void main( void )
: {
: Freeze(1);
: move_stop(1, 8, 220, 1);
: say_stop("'0Lord Dink.", ¤t_sprite);
: freeze(¤t_sprite);
: sp_pseq(¤t_sprite, 436);
: sp_pframe(¤t_sprite, 1);
: sp_pframe(¤t_sprite, 2);
: wait(1000);
: unfreeze(¤t_sprite);
: say_stop("'0Bla bla bla", ¤t_sprite);
: unfreeze(1);
: }
: As you can see this throws in two frames from a different sequence to momentaraly replace the idle Dink animation. Trouble is I want to control the amount of time each of these frames are displayed and am at a loss.
: Any help is appreciated. as for any mistakes or unclearness, I am tired as hell.
I'm not sure of this, but I think you also need to add sp_seq(¤t_sprite, 436);
If you want to have some time between the two altering frames you'll have to add wait there too. Remember though, the Dink idle animation is set on repeat, so I don't really understand what you're trying to achieve here. If you want to change the idle sequence I would suggest using sp_base_idle(1, 436); then you can still mess around with sp_frame_delay. Mayeb I'm the one who's not making sense now :)