The Dink Network

How will Dink lose weight?

June 22nd 2005, 10:17 AM
dragon.gif
How will Dink lose weight if he can't move?

i've made a script that dink talk with two shack (well, it's schack on swedish, you know, a white-black table with a lot of figures...) playing knights, and he shall move in one part of it, when i wrote in the code for him to move (found in rudiments of scripting) he just held his position and said the rest... it became a useless script...

here's the script...

void main(void)
{
freeze(1);

int &knight2 = create_sprite(328, 259, 0, 400, 1);
sp_base_walk(&oldman, 400);
sp_speed(&oldman, 0);

int &knight1 = create_sprite(272, 298, 0, 300, 1);
sp_base_walk(&oldman, 300);
sp_speed(&oldman, 0);
}
if (&madgame == 0)

say_stop("now where is the king?", 1);
wait(500);
say_stop("`6ahahah! schack mate, old friend!", &knight1);
wait(200);
say_stop("`2no.", &knight2);
wait(200);
say_stop("`6why?", &knight1);
wait(200);
say_stop("`6my rider is at your king!", &knight1);
wait(200);
say_stop("`2because my queen has a MG 42 in her bag", &knight2);
wait(200);
say_stop("`2and she slaughter all your pieces!!", &knight2);
wait(200);
say_stop("`6you did the same thing on monopoly!", &knight1);
wait(200);
say_stop("`2and?", &knight2);
wait(200);
say_stop("`6you are hopeless...", &knight1);
wait(200);
say_stop("`6hey you!", &knight1);

\\here, i want dink to move to theese coordinates: x=337 y=301

say_stop("who, me?", 1);
wait(200);
say_stop("`6can you get a new game for us?", &knight1);
wait(200);
say_stop("`6this is really boring!", &knight1);
wait(200);
say_stop("how!? we are in a castle, in the middle of nowhere!", 1);
wait(200);
say_stop("`6well, try to, many guys around here have games...", &knight1);
wait(200);
say_stop("i can at least try...", 1);
&madgame = 1

unfreeze(1);
}
if (&madgame == 1)
say_stop("`6i will never play thing with you anymore...", &knight1);
wait(200);
say_stop("`2as i care...", &knight2);
wait(200);
}
}

can someone tell me how to do it? (don't say "check rudiments of scripting"!)
June 22nd 2005, 10:46 AM
fish.gif
Simeon
Peasant He/Him Netherlands
Any fool can use a computer. Many do. 
it's schack on swedish - that's chess in English

Anyway. If you want Dink to move, you can use:

move_stop(1, direction, destination-x or destination-y, 1);

where direction is 2 (down), 4 (left), 6 (right) or 8 (up) (see numpad) and destination-x or -y is the coordinate where Dink will stop. So:

move_stop(1, 8, 20, 1);

will make Dink (1) move up (8) to y-coordinate 20 (20) and he can walk through hardness (1).

Now, you want Dink to move to x=337 and y=301. You'll have to check where Dink is currently standing and then use the correct movement commands to get him there (if his posistion is below that, let him move up and so on).

In addition, if you want the &knight1 and &knight2 sprites to move, you should just set their speed to 1 as they can't move without a speed. Note that sp_base_walk and sp_speed have &oldman instead of &knight1 or &knight2.
June 22nd 2005, 10:51 AM
dragon.gif
chess, damit, i forgot...................
okay, right now i wonder, what is my head filled with, grasshoppers?
June 22nd 2005, 10:52 AM
custom_magicman.gif
magicman
Peasant They/Them Netherlands duck
Mmmm, pizza. 
You're screwing up brackets too...

void main(void)
{
freeze(1);

int &knight2 = create_sprite(328, 259, 0, 400, 1);
sp_base_walk(&oldman, 400);
sp_speed(&oldman, 0);

int &knight1 = create_sprite(272, 298, 0, 300, 1);
sp_base_walk(&oldman, 300);
sp_speed(&oldman, 0);
//} This one can go away
if (&madgame == 0)
{
say_stop("now where is the king?", 1);
wait(500);
say_stop("`6ahahah! schack mate, old friend!", &knight1);
wait(200);
say_stop("`2no.", &knight2);
wait(200);
say_stop("`6why?", &knight1);
wait(200);
say_stop("`6my rider is at your king!", &knight1);
wait(200);
say_stop("`2because my queen has a MG 42 in her bag", &knight2);
wait(200);
say_stop("`2and she slaughter all your pieces!!", &knight2);
wait(200);
say_stop("`6you did the same thing on monopoly!", &knight1);
wait(200);
say_stop("`2and?", &knight2);
wait(200);
say_stop("`6you are hopeless...", &knight1);
wait(200);
say_stop("`6hey you!", &knight1);

\\here, i want dink to move to theese coordinates: x=337 y=301

move_stop(1,2,301,1);
move_stop(1, 8, 301, 1);
move_stop(1, 4, 337, 1);
move_stop(1, 6, 337, 1);


say_stop("who, me?", 1);
wait(200);
say_stop("`6can you get a new game for us?", &knight1);
wait(200);
say_stop("`6this is really boring!", &knight1);
wait(200);
say_stop("how!? we are in a castle, in the middle of nowhere!", 1);
wait(200);
say_stop("`6well, try to, many guys around here have games...", &knight1);
wait(200);
say_stop("i can at least try...", 1);
&madgame = 1

unfreeze(1);
}
if (&madgame == 1)
{
say_stop("`6i will never play thing with you anymore...", &knight1);
wait(200);
say_stop("`2as i care...", &knight2);
wait(200);
}
}

The game is called "chess", and when one player has won, the other one's "checkmate".
June 22nd 2005, 11:06 AM
dragon.gif
well, everything works fine, just one problem...
the guys dosen't exist and the text appear in the bottom of the screen...
June 22nd 2005, 11:24 AM
custom_magicman.gif
magicman
Peasant They/Them Netherlands duck
Mmmm, pizza. 
They do exist as sprites, I think, but with a non-existing sequence.

create_sprite(328, 259, 0, 400, 1);

sequence 400 doesn't exist by default (and you really shouldn't add one at number 400). Try to use 401 (and 301 in the other create_sprite).
June 22nd 2005, 04:30 PM
goblinm.gif
It all comes from Shah Mat (king lost) which is Arabic or something... people who play chess know what you mean if you say shack, since it's (I think) Shach in German and shakmaty or something in Russian. Also, echecs (plural!) in french (there's some accents on that).
June 23rd 2005, 02:17 AM
dragon.gif
yeah, thanks everybody for the help...!

June 23rd 2005, 02:18 AM
dragon.gif
is chess an arabic game? i thouth it was some english stuff...
June 23rd 2005, 10:35 AM
spike.gif
english? I thought english only have cock fights...

Chess supposedly originates from the east, india, china, somewhere around there.
June 23rd 2005, 11:23 AM
dragon.gif
cock fights?

dosen't the british throw hot tea at each other?
June 23rd 2005, 01:39 PM
dragon.gif
well, i got a tiny problem...

in my fine-working intro script(s) i want dink,
(actually a slayer on my D-mod) to NOT be seen on the screen, so when the first script faded, i wrote in

&player_map = 460;
sp_x(1, -400);
sp_y(1, -400);

then as it was an - mark in front of the numbers, i thouth dink would be outside the screen, but he stands in the corner and he can move anywhere, it looks pretty silly as the goblins moving in the script is extremely small... (the screen is like in "Bird view"!)

it looks silly
here is the scripts:

void main(void)
{

if (&intro == 0)
{
//STORY TIME!!
fade_down();
&update_status = 1;
draw_status();
freeze(1);
sp_dir(1, 2);
Wait(2000);
say_stop_xy("this is a world of darkness...",0,360);
Wait(1000);
say_stop_xy("The monsters of the world are leaving...",0,360);
&intro = 1

&player_map = 460;
sp_x(1, -400);
sp_y(1, -400);
script_attach(1000);
load_screen();
draw_screen();
draw_status();
fade_up();
unfreeze(1);
kill_this_task();
}
}

and here is my second script
void main(void)
{
freeze(1);

int &goblin1 = create_sprite(380, 045, 0, 781, 1);
sp_base_walk(&goblin1, 780);
sp_speed(&goblin1, 1);
sp_size(&goblin1, 30);

int &goblin2 = create_sprite(367, 016, 0, 761, 1);
sp_base_walk(&goblin2, 760);
sp_speed(&goblin2, 1);
sp_size(&goblin2, 30);

int &goblin3 = create_sprite(406, 017, 0, 801, 1);
sp_base_walk(&goblin3, 800);
sp_speed(&goblin3, 1);
sp_size(&goblin3, 30);

int &slayer1 = create_sprite(040, 292, 0, 640, 1);
sp_base_walk(&slayer1, 641);
sp_speed(&slayer1, 1);

if (&intro == 1)
{
freeze(1);

say_stop_xy("They say, that there is a propercy",0,360);

move_stop(&goblin1,2,210,1);
move_stop(&goblin1, 8, 210, 1);
move_stop(&goblin1, 4, 410, 1);
move_stop(&goblin1, 6, 410, 1);

say_stop_xy("the world will fall, they say...",0,360);

move_stop(&goblin2,2,282,1);
move_stop(&goblin2, 8, 282, 1);
move_stop(&goblin2, 4, 412, 1);
move_stop(&goblin2, 6, 412, 1);

say_stop_xy("And all the Monsters leave by the sea...",0,360);

move_stop(&goblin3,2,204,1);
move_stop(&goblin3, 8, 204, 1);
move_stop(&goblin3, 4, 460, 1);
move_stop(&goblin3, 6, 460, 1);

say_stop_xy("but things HAS begun to happen...",0,360);
Wait(1000);
say_stop_xy("more attacks on monster tribes have appeared",0,360);
Wait(1000);

fade_down();
fill_screen(0);

say_stop_xy("this is the story of a slayer...",0,360);
Wait(1000);
say_stop_xy("his tribe was living in harmony, until...",0,360);
Wait(1000);
say_stop_xy("a group of pillbugs, giant pillbugs, was ruining",0,360);
Wait(1000);
say_stop_xy("the slayers lives.",0,360);
Wait(1000);
say_stop_xy("but one day, a young slayer decided to",0,360);
Wait(1000);
say_stop_xy("leave his friends and...",0,360);
Wait(1000);
say_stop_xy("blow off the pillbugs asses",0,360);

&intro = 2

fade_down();
fill_screen(0);
&player_map = 437;
sp_x(1, 365);
sp_y(1, 161);
script_attach(1000);
load_screen();
draw_screen();
draw_status();
fade_up();
kill_this_task();

say_stop("but i guess they don't have any asses, eh?", 1);
say_stop("they are just a ball of blobby material...", 1);
say_stop("oh, back to the game...", 1);

unfreeze(1);
}
}

how do i make Dink NOT stand in the corner?

and by the way, where do i put the

sp_base_death(1, 162);
push_active(0);

both of theese codes turn dink into normal dink, when i put it at START-1.c

June 23rd 2005, 02:51 PM
goblinm.gif
There is a command like "dink_can_walk_off_screen" or something, but sp_nodraw(1, 1) is far superior IMO.
June 23rd 2005, 03:25 PM
dragon.gif
well, now because of my intro scripts, dink can't get any stuff, only gold and hearts...
but no items...?

what's wrong in the script?
June 23rd 2005, 04:40 PM
knightg.gif
cypry
Peasant He/Him Romania
Chop your own wood, and it will warm you twice. 
First of all, I want to say that the Romanian word for chess is "sah", (sounds like "schack"). The word "sah" also defines a persian (or arabic, I'm not sure) king.
Don't you know the game story?
Once upon a time... there was a "sah" (persian knight), who was boring. So, a guy invented the game and named it like the king.
The king was very pleased and told him to take everything he wants. The guy wanted grain. He said to put one grain on the first square, two on the second, 4 on the third, 8 on the next, and so on, until the 64th. He wanted all that grain.
Do you have any ideea how much grain there was?
2^64-1 tells you something?
June 23rd 2005, 04:44 PM
fish.gif
Simeon
Peasant He/Him Netherlands
Any fool can use a computer. Many do. 
What do you mean, "can't get any stuff"? Giving the player items is done with add_item("item-xxx",seq,frame); but you probably already know that.

Now, because your character is a slayer and not the original Dink, you'll have trouble giving him swords and bows. This is because when you equip an item, it uses a different set of graphics for his attacking and such. So when you give your slayer a sword, the player will look like Dink when he equips that item.

Things like gold and health are done with a single variable (&gold and &life), they'll still function when the main character looks different (ie not Dink). So you'll have to change the item scripts that you want to use: you could still create a fireball (as magic) but you'd have to remove the graphics where Dink's arm engulves in fire (and keep the slayer's graphics) and as a weapon, you'd have to think of something like an axe yet without the throwing graphics.
June 23rd 2005, 04:50 PM
dragon.gif
well, when i mean stuff, i mean fists, swords, bows...

in my START-1.c there is a code that make dink get fists, i've changed how the "hit" sequence looks like, it was one of the first thing i did, but he dosent get any fists, in the start of my D-mod...
and when i make a add_item, and tries my script out, i press "enter" and everything is empty...

it wasn't like this before i made the Intro...