How will Dink lose weight?
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"!)
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"!)
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.

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.
chess, damit, i forgot...................
okay, right now i wonder, what is my head filled with, grasshoppers?
okay, right now i wonder, what is my head filled with, grasshoppers?

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".
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".

well, everything works fine, just one problem...
the guys dosen't exist and the text appear in the bottom of the screen...
the guys dosen't exist and the text appear in the bottom of the screen...
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).
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).
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).
is chess an arabic game? i thouth it was some english stuff...
english? I thought english only have cock fights...
Chess supposedly originates from the east, india, china, somewhere around there.

Chess supposedly originates from the east, india, china, somewhere around there.
cock fights?
dosen't the british throw hot tea at each other?
dosen't the british throw hot tea at each other?

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
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
There is a command like "dink_can_walk_off_screen" or something, but sp_nodraw(1, 1) is far superior IMO.
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?
but no items...?
what's wrong in the script?
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?
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?
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.
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.
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...
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...