The Dink Network

What's wrong??!!

December 24th 2009, 08:13 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
//Bonca..medium strength

void main( void )
{
int &mcounter;
int &mtarget;
int &mcrap;
int &assault;
int &mlife;
sp_brain(&current_sprite, 9);
sp_speed(&current_sprite, 1);
sp_distance(&current_sprite, 50);
sp_timing(&current_sprite, 33);
sp_exp(&current_sprite, 30);
sp_base_walk(&current_sprite, 530);
sp_base_death(&current_sprite, 550);
sp_base_attack(&current_sprite, 540);
sp_defense(&current_sprite, 3);
sp_strength(&current_sprite, 8);
sp_touch_damage(&current_sprite, 4);
sp_hitpoints(&current_sprite, 20);
preload_seq(531);
preload_seq(533);
preload_seq(537);
preload_seq(539);
preload_seq(551);
preload_seq(553);
preload_seq(557);
preload_seq(559);

preload_seq(542);
preload_seq(544);
preload_seq(546);
preload_seq(548);
set_callback_random("assault", 10, 0);

void hit( void )
{
playsound(29, 22050,0,&current_sprite, 0);

sp_target(&current_sprite, &enemy_sprite);
&assault = 1;
sp_speed(&current_sprite,5);
//lock on to the guy who just hit us
//playsound

}

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);
external("emake","medium");
}

void attack( void )
{
playsound(31, 22050,0,&current_sprite, 0);
&assault = 0;
sp_speed(&current_sprite,1);
&mcounter = random(4000,0);
sp_attack_wait(&current_sprite, &mcounter);
}

void assault(void)
{
if (&assault = 1)
{
&mtarget = sp_target(&current_sprite,-1);
if (&mtarget > 0)
{
say("<Quick raid>",&current_sprite);
sp_speed(&current_sprite,5);
&mcrap = random(7,1);
if (&mcrap < 4)
{
&life = sp_hitpoints(&current_sprite,-1);
&mlife -= 1;
sp_hitpoints(&current_sprite,&mlife);
}
return;
}
}
}

This guy won't attack!And something else is wrong...
December 24th 2009, 09:45 AM
burntree.gif
Striker
Noble She/Her United States
Daniel, there are clowns. 
With just a brief glance, I can see that
set_callback_random("assault", 10, 0);


is making the script run the "assault" function every 10 milliseconds and probably interrupting everything else in the script from happening, including attacking.
December 24th 2009, 09:49 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
But I have to make the "assault" function run often,what can I do with it?
December 24th 2009, 10:33 AM
burntree.gif
Fireball5
Peasant He/Him Australia
Let me heat that up for you... 
100 times a second???
December 24th 2009, 11:03 PM
burntree.gif
Striker
Noble She/Her United States
Daniel, there are clowns. 
Yes, try increasing it. You could probably even set it to 1000 or 2000 milliseconds without anyone noticing.
December 25th 2009, 03:58 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
No,it doesn't work...
December 25th 2009, 04:01 AM
fairy.gif
Someone
Peasant He/Him Australia
 
set sp_range
need } at end of main
&life should be &mlife in assault()

ps: i don't think dinkc can interrupt internal code
December 25th 2009, 04:03 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
GOD!I made THIS mistake!This is a guilt for myself!
December 25th 2009, 04:15 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
Still don't work...
This is the new one...

//Bonca..medium strength

void main( void )
{
int &mcounter;
int &mtarget;
int &mcrap;
int &assault;
int &mlife;
sp_brain(&current_sprite, 9);
sp_speed(&current_sprite, 1);
sp_distance(&current_sprite, 50);
sp_timing(&current_sprite, 33);
sp_exp(&current_sprite, 30);
sp_base_walk(&current_sprite, 530);
sp_base_death(&current_sprite, 550);
sp_base_attack(&current_sprite, 540);
sp_defense(&current_sprite, 3);
sp_strength(&current_sprite, 8);
sp_touch_damage(&current_sprite, 4);
sp_hitpoints(&current_sprite, 20);
preload_seq(531);
preload_seq(533);
preload_seq(537);
preload_seq(539);
preload_seq(551);
preload_seq(553);
preload_seq(557);
preload_seq(559);

preload_seq(542);
preload_seq(544);
preload_seq(546);
preload_seq(548);
set_callback_random("assault", 6000, 1);
}

void hit( void )
{
playsound(29, 22050,0,&current_sprite, 0);

sp_target(&current_sprite, &enemy_sprite);
&assault = 1;
sp_speed(&current_sprite,5);
//lock on to the guy who just hit us
//playsound

}

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);
external("emake","medium");
}

void attack( void )
{
playsound(31, 22050,0,&current_sprite, 0);
&assault = 0;
sp_speed(&current_sprite,1);
&mcounter = random(4000,0);
sp_attack_wait(&current_sprite, &mcounter);
}

void assault(void)
{
if (&assault == 1)
{
&mtarget = sp_target(&current_sprite,-1);
if (&mtarget > 0)
{
say("<Quick raid>",&current_sprite);
&mcrap = random(7,1);
if (&mcrap < 4)
{
&mlife = sp_hitpoints(&current_sprite,-1);
&mlife -= 1;
sp_hitpoints(&current_sprite,&mlife);
}
return;
}
}
}
December 25th 2009, 04:22 AM
fairy.gif
Someone
Peasant He/Him Australia
 
try adding

sp_range(&current_sprite, 45);

in main
December 25th 2009, 04:26 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
Er...Although I hope it would work,but it failed again...
December 25th 2009, 04:52 AM
custom_skull.gif
Skull
Peasant He/Him Finland bloop
A Disembodied Sod 
How about adding

sp_target(¤t_sprite, 1);


EDIT: Hmmm... I might have understood your problem wrong. Well, you could still try this.
December 25th 2009, 05:01 AM
knights.gif
pathfinder
Peasant He/Him China
I love hanging ON LINE without doing anything... 
You seems do.My bonca doesn't do its attack animation,and it wasn't running its "assault" procedure...