The Dink Network

Reply to Re: emake

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:
 
 
April 5th 2004, 08:22 AM
knight.gif
legolas
Peasant He/Him
 
I use scripts that are almost equal to the original game for this, and Cedit says they are ok. So I think it isn't in the scripts...

but for the scripts:

[a pillbug (en-pill0)]
//pillbug brain

void main( void )
{
sp_brain(&current_sprite, 9);
sp_speed(&current_sprite, 1);
sp_exp(&current_sprite, 5);
sp_base_walk(&current_sprite, 130);
sp_base_death(&current_sprite, 140);
sp_touch_damage(&current_sprite, 1);
sp_hitpoints(&current_sprite, 8);
preload_seq(131);
preload_seq(133);
preload_seq(141);
preload_seq(143);

if (random(2,1) == 1)
{
sp_target(&current_sprite, 1);
}
}

void hit( void )
{
sp_target(&current_sprite, &enemy_sprite);
playsound(30, 21050, 4000, &current_sprite, 0);
//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","small");

}

[emake]

//make, contains info on making items given after a monster dies

void medium( void )
{
int &mcrap = random(20,1);

if (&mcrap == 1)
{
//lets give 'em a small heart
int &crap = create_sprite(&save_x, &save_y, 6, 54, 1);
sp_script(&crap, "sheart");
return;
}

if (&mcrap == 2)
{
//lets give 'em a large heart
int &crap = create_sprite(&save_x, &save_y, 0, 54, 1);
sp_script(&crap, "heart");
return;
}

if (&mcrap == 3)
{

&mcrap = random(3,1);

if (&mcrap == 1)
{
//give them food type 1
int &crap = create_sprite(&save_x, &save_y, 6, 421, 1);
sp_script(&crap, "sfood");
}

if (&mcrap == 2)
{
//give them food type 2
int &crap = create_sprite(&save_x, &save_y, 6, 421, 2);
sp_script(&crap, "sfood");
}

if (&mcrap == 3)
{
//give them food type 3
int &crap = create_sprite(&save_x, &save_y, 6, 421, 7);
sp_script(&crap, "sfood");
}

if (&mcrap == 4)
{
//give them food type 4
int &crap = create_sprite(&save_x, &save_y, 6, 421, 8);
sp_script(&crap, "sfood");
}
return;
}

//all others lets give 'em a random amount of gold
int &crap = create_sprite(&save_x, &save_y, 0, 178, 4);
sp_script(&crap, "mgold");
debug("exiting medium emake after creating gold");
return;

}

void large( void )
{
int &mcrap = random(20,1);

if (&mcrap == 2)
{
//lets give 'em a large heart
int &crap = create_sprite(&save_x, &save_y, 6, 54, 1);
sp_script(&crap, "heart");
return;
}

if (&mcrap == 3)
{

&mcrap = random(3,1);

if (&mcrap == 1)
{
//give them food type 1
int &crap = create_sprite(&save_x, &save_y, 6, 421, 1);
sp_script(&crap, "sfood");
}
if (&mcrap == 2)

{
//give them food type 2
int &crap = create_sprite(&save_x, &save_y, 6, 421, 2);
sp_script(&crap, "sfood");
}

if (&mcrap == 3)

{
//give them food type 3
int &crap = create_sprite(&save_x, &save_y, 6, 421, 7);
sp_script(&crap, "sfood");
}

if (&mcrap == 4)

{
//give them food type 4
int &crap = create_sprite(&save_x, &save_y, 6, 421, 8);
sp_script(&crap, "sfood");
}
return;
}

//lets give 'em a random amount of gold
int &crap = create_sprite(&save_x, &save_y, 6, 178, 4);
sp_script(&crap, "lgold");

}

void xlarge( void )
{
int &mcrap = random(20,1);

if (&mcrap == 2)
{
//lets give 'em a large heart
int &crap = create_sprite(&save_x, &save_y, 6, 54, 1);
sp_script(&crap, "heart");
return;
}

if (&mcrap == 3)
{

&mcrap = random(3,1);

if (&mcrap == 1)
{
//give them food type 1
int &crap = create_sprite(&save_x, &save_y, 6, 421, 1);
sp_script(&crap, "sfood");
}
if (&mcrap == 2)

{
//give them food type 2
int &crap = create_sprite(&save_x, &save_y, 6, 421, 2);
sp_script(&crap, "sfood");
}

if (&mcrap == 3)

{
//give them food type 3
int &crap = create_sprite(&save_x, &save_y, 6, 421, 7);
sp_script(&crap, "sfood");
}

if (&mcrap == 4)

{
//give them food type 4
int &crap = create_sprite(&save_x, &save_y, 6, 421, 8);
sp_script(&crap, "sfood");
}
return;
}
debug("Making silver");
if (&story == 5)
{
//lets give 'em a random amount of silver
int &crap = create_sprite(&save_x, &save_y, 0, 195, 29);
sp_script(&crap, "lsilver");
} else
{
//give 'em gold
int &crap = create_sprite(&save_x, &save_y, 6, 178, 4);
sp_script(&crap, "gold200");
}

}

void small( void )
{
int &mcrap = random(3,1);
if (&mcrap == 1)
{
//lets give 'em a small heart
int &crap = create_sprite(&save_x, &save_y, 6, 54, 1);
sp_script(&crap, "sheart");
return;
}

return;
}

void lheart( void )
{
//lets give 'em a large heart
int &crap = create_sprite(&save_x, &save_y, 6, 54, 1);
sp_script(&crap, "heart");
return;
}

void xlgold( void )
{
//lets give 'em a large heart
int &crap = create_sprite(&save_x, &save_y, 0, 178, 4);
sp_script(&crap, "xlgold");
return;
}

[sheart]

//this script fills life up, touch_damage must be set to -1. (run script mode)

void main( )
{
sp_seq(&current_sprite, 54);
sp_frame(&current_sprite, 1); //so the seq will start
sp_brain(&current_sprite, 6);
sp_touch_damage(&current_sprite, -1);
sp_nohit(&current_sprite, 1);
}

void touch( void )
{
&life += 3;
if (&life > &lifemax)
{
&life = &lifemax;
}
Playsound(10,22050,0,0,0);
sp_brain_parm(&current_sprite, 10);
sp_brain(&current_sprite, 12);
sp_touch_damage(&current_sprite, 0);
sp_timing(&current_sprite, 0);

//kill this item so it doesn't show up again for this player
int &hold = sp_editor_num(&current_sprite);
if (&hold != 0)
editor_type(&hold, 1);

}

Also, debug says it loads the script sheart when a monster dies, but I don't see it on the screen. maybe it is in the graphics or something?