Reply to Re: trouble with unfinished business
If you don't have an account, just leave the password field blank.
Copy the next lines to Notepad or something, and save it as "en-drag.c". (Without the "). Place this en-drag.c to the story directory of the DMod with the bug. It should work now.
//Start copying here
//pillbug brain
void main( void )
{
int &fsave_x;
int &kcrap;
int &fsave_y;
int &resist;
int &mcounter;
int &mtarget;
screenlock(1);
sp_brain(¤t_sprite, 10);
sp_timing(¤t_sprite, 66);
sp_speed(¤t_sprite, 1);
sp_nohit(¤t_sprite, 0);
sp_exp(¤t_sprite, 400);
sp_base_walk(¤t_sprite, 200);
sp_base_death(¤t_sprite, 210);
sp_touch_damage(¤t_sprite, 10);
sp_hitpoints(¤t_sprite, 80);
sp_defense(¤t_sprite, 8);
preload_seq(202);
preload_seq(204);
preload_seq(206);
preload_seq(208);
preload_Seq(70);
preload_Seq(166);
set_callback_random("target",500,2000);
}
void target( void )
{
//get new target
&kcrap = random(9, 1);
if (&life < 1)
&kcrap = 2;
if (&kcrap == 1)
{
sp_target(¤t_sprite, 1);
return;
}
&mtarget = get_sprite_with_this_brain(16, ¤t_sprite);
if (&mtarget > 0)
{
&mtarget = get_rand_sprite_with_this_brain(16, ¤t_sprite);
sp_target(¤t_sprite, &mtarget);
}
}
void attack( void )
{
playsound(47, 22050,0,0,0);
&kcrap = sp_target(¤t_sprite, -1);
&fsave_x = sp_x(&kcrap, -1);
&fsave_y = sp_y(&kcrap, -1);
&mcounter = random(5000,3000);
sp_attack_wait(¤t_sprite, &mcounter);
&resist = random(40, 1);
//if NPC, turn off resist option
if (&kcrap != 1)
&resist = 100000;
if (&resist > &magic)
{
say("`4<Casts harm>", ¤t_sprite);
playsound(31, 12050,0,0, 0);
hurt(&kcrap, 20);
&fsave_y -= 29;
int &spark = create_sprite(&fsave_x, &fsave_y, 7, 70, 1);
sp_seq(&spark, 70);
sp_que(&spark, -70);
sp_speed(&spark, 5);
return;
}
playsound(31, 44050,0,0, 0);
&fsave_y -= 29;
int &spark = create_sprite(&fsave_x, &fsave_y, 7, 166, 1);
sp_seq(&spark, 166);
sp_que(&spark, -70);
say("Magic resisted.", &kcrap);
}
void hit( void )
{
sp_target(¤t_sprite, &enemy_sprite);
playsound(46, 17050, 4000, ¤t_sprite, 0);
//lock on to the guy who just hit us
//playsound
}
void die( void )
{
if (get_sprite_with_this_brain(10, ¤t_sprite) == 0)
{
//no more brain 10 monsters here, lets unlock the screen
if (&life > 0)
{
screenlock(0);
}
}
int &hold = sp_editor_num(¤t_sprite);
if (&hold != 0)
editor_type(&hold, 6);
&save_x = sp_x(¤t_sprite, -1);
&save_y = sp_y(¤t_sprite, -1);
external("emake","xlarge");
}
//Copying done, save as en-drag.c
//Start copying here
//pillbug brain
void main( void )
{
int &fsave_x;
int &kcrap;
int &fsave_y;
int &resist;
int &mcounter;
int &mtarget;
screenlock(1);
sp_brain(¤t_sprite, 10);
sp_timing(¤t_sprite, 66);
sp_speed(¤t_sprite, 1);
sp_nohit(¤t_sprite, 0);
sp_exp(¤t_sprite, 400);
sp_base_walk(¤t_sprite, 200);
sp_base_death(¤t_sprite, 210);
sp_touch_damage(¤t_sprite, 10);
sp_hitpoints(¤t_sprite, 80);
sp_defense(¤t_sprite, 8);
preload_seq(202);
preload_seq(204);
preload_seq(206);
preload_seq(208);
preload_Seq(70);
preload_Seq(166);
set_callback_random("target",500,2000);
}
void target( void )
{
//get new target
&kcrap = random(9, 1);
if (&life < 1)
&kcrap = 2;
if (&kcrap == 1)
{
sp_target(¤t_sprite, 1);
return;
}
&mtarget = get_sprite_with_this_brain(16, ¤t_sprite);
if (&mtarget > 0)
{
&mtarget = get_rand_sprite_with_this_brain(16, ¤t_sprite);
sp_target(¤t_sprite, &mtarget);
}
}
void attack( void )
{
playsound(47, 22050,0,0,0);
&kcrap = sp_target(¤t_sprite, -1);
&fsave_x = sp_x(&kcrap, -1);
&fsave_y = sp_y(&kcrap, -1);
&mcounter = random(5000,3000);
sp_attack_wait(¤t_sprite, &mcounter);
&resist = random(40, 1);
//if NPC, turn off resist option
if (&kcrap != 1)
&resist = 100000;
if (&resist > &magic)
{
say("`4<Casts harm>", ¤t_sprite);
playsound(31, 12050,0,0, 0);
hurt(&kcrap, 20);
&fsave_y -= 29;
int &spark = create_sprite(&fsave_x, &fsave_y, 7, 70, 1);
sp_seq(&spark, 70);
sp_que(&spark, -70);
sp_speed(&spark, 5);
return;
}
playsound(31, 44050,0,0, 0);
&fsave_y -= 29;
int &spark = create_sprite(&fsave_x, &fsave_y, 7, 166, 1);
sp_seq(&spark, 166);
sp_que(&spark, -70);
say("Magic resisted.", &kcrap);
}
void hit( void )
{
sp_target(¤t_sprite, &enemy_sprite);
playsound(46, 17050, 4000, ¤t_sprite, 0);
//lock on to the guy who just hit us
//playsound
}
void die( void )
{
if (get_sprite_with_this_brain(10, ¤t_sprite) == 0)
{
//no more brain 10 monsters here, lets unlock the screen
if (&life > 0)
{
screenlock(0);
}
}
int &hold = sp_editor_num(¤t_sprite);
if (&hold != 0)
editor_type(&hold, 6);
&save_x = sp_x(¤t_sprite, -1);
&save_y = sp_y(¤t_sprite, -1);
external("emake","xlarge");
}
//Copying done, save as en-drag.c