The Dink Network

Reply to Re: Multiple Brains?

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:
 
 
May 17th 2016, 08:39 PM
burntree.gif
You don't have to do that. I've done this sort of thing in my dmods before including with echoes. Look at some of the scripts such as ghost1.c below.

It is even simpler for a non-directional sprite.

void main(void)
{
preload_seq(876);
int &crap = random(3, 3);
sp_speed(&current_sprite, &crap);
sp_brain(&current_sprite, 9);
sp_base_walk(&current_sprite, -1);
sp_touch_damage(&current_sprite, 6);
sp_hitpoints(&current_sprite, 12);
sp_defense(&current_sprite, 3);
sp_exp(&current_sprite, 8);
//sp_target(&current_sprite, &enemy_sprite);

int &dir;
int &fr = 0;
int &x1 = 1;
int &ct1 = 0;

toploop:

&dir = sp_dir(&current_sprite, -1);

&fr = 0;

if(&dir == 1)
{
&fr = 0;
}

if(&dir == 4)
{
&fr = 0;
}

if(&dir == 3)
{
&fr = 2;
}

if(&dir == 2)
{
&fr = 2;
}

if(&dir == 7)
{
&fr = 4;
}

if(&dir == 8)
{
&fr = 4;
}

if(&dir == 9)
{
&fr = 6;
}

if(&dir == 6)
{
&fr = 6;
}

&fr += &x1;
sp_pframe(&current_sprite, &fr);

&ct1 += 1;
if(&ct1 > 2)
{
&ct1 = 0;
&x1 += 1;
}

if(&x1 > 2)
{
&x1 = 1;
}

wait(33);
wait(99);
goto toploop;

}

void die( void )
{
int &hold = sp_editor_num(&current_sprite);
if (&hold != 0)
editor_type(&hold, 6);

&save_x = sp_x(&current_sprite, -1);
&save_y = sp_y(&current_sprite, -1);
int &junk = create_sprite(&save_x, &save_y, 0, 876, 9);
sp_que(&junk, 1);
external("emake","small");
}