📧 Message Board Archive

Bug of final boss in original Dink
Before the old board went off-line, I remembered reading a post (posted by Paul, I believe) about fixing the script of final boss (& mog...) by using local variables instead of global variables &save_x and &save_y.



My question is: why they cause problems with magic animation script? Should I avoid using &save_x and &save_y in "die(void) procedure" of other non-boss monsters' scripts as well?



In fact, the script of "en-gmog.c" found in source.zip did not use &save_x and &save_y in die(void). But I believe that you still cannot kill mog with magic.



Any enlightening reply will be highly appreciated.
board problem
I'd like to reply, but this board can't stop telling me I use benned words... And I've been polite, though!

Let's correct this!
Re: board problem
: I'd like to reply, but this board can't stop telling me I use benned words...

I meant BANNED words, sorry.

My reply can be accessed here :)
Re: board problem
: My reply can be accessed here :)



ACK! This doesn't work. I'm doomed ;(

So the reply is here:

http://www.angelfire.com/games3/dinkdownload/seth.txt
Re: board problem
Just take out the freeze(1); it wont freeze. Making seth non hittable would also be a good step, but i'm npot sure it's the best, I will take a look into this matter again, and make a patch.



--WC
Re: board problem
: Just take out the freeze(1); it wont freeze. Making seth non hittable would also be a good step, but i'm npot sure it's the best, I will take a look into this matter again, and make a patch.



: --WC





I also remember to have problems when I won a level after killing Seth. I'm not sure, but I think this interrupt the ending.



Re: board problem
: : Just take out the freeze(1); it wont freeze. Making seth non hittable would also be a good step, but i'm npot sure it's the best, I will take a look into this matter again, and make a patch.



: : --WC



: I also remember to have problems when I won a level after killing Seth. I'm not sure, but I think this interrupt the ending.



I changed the way it censors bad words... now it will replace them with ****.  Here is Beuc's original post (I'm wondering what the bad words were):



I think, and I'm not alone, that in fact, when you use a multiple-hit weapon such as fireball or the throwring axe, then the hit() procedure is called several time in a very few time. So if the boss must die at a point, then hit() procedure is called, then Dink.exe see that the boss don't have any life, so it calls the die() procedure.

The first command in die() is freeze(1). Dink.exe executes it.



But then, PROBLEM!

The multiple-hit weapon hit again Seth. So the hit() procedure is called, and thus the die() call is 'killed'.

Dink stay frozen, and as Seth wasn't killed in die() procedure, he's still alive!! N***oo!!!...

Dink can't make Seth die() another time, as he's frozen, so HE die ;)





Solutions:

1) make Seth un-hitable for a few time, just after being hit. There's a command for this. I just can't remember. It's something like sp_something(&seth, 0);



2) the first line of the die() procedure is always executed (in our case: freeze()). So replace freeze() by a spawn("sethdie.c")-like command. This new script, sethdie.c, won't be killed if Seth is hit another time, as he's independant from Seth's script.

This new script will freeze Dink, then properly kill Seth.

In theory. Now if somebody has some time to do it, then try!



Oh, yeah, another solution:

3) kill Seth with the Bow or Sword or non-multiple-hit weapon, win the game, be happy, and thus don't annoy people with "I CAN'T KILL SETH"-like messages ;)





Good luck,





--

Beuc
Re: board problem
It looks like it thought *** was a bad word. (that 5 "o"s)



In any case, it seems like setting sp_nohit in the first line of die() should take care of it. I thought the thing I said before really worked, but I don't now I'm not sure. Maybe I was just lucky when I tested it?

Re: board problem
: In any case, it seems like setting sp_nohit in the first line of die() should take care of it.



Thank you for all you guys' help.

The problem seems to be solved except that I cannot find the command sp_nohit in Dink C helper. You can setup Nohit in editor mode by press  SHIFT-9. "0" means hitable. Is sp_nohit(&current_sprite, 1); going to do the same thing? In fact, in editor mode, it says that: even you assigned Nohit to a sprite, it will still check hit() if a script is attached to the sprite. I am quite confused...
Re: board problem
: It looks like it thought *** was a bad word. (that 5 "o"s)



What was this word? It was sensored...

Try to write it l i k e  t h i s ;)



Also, I wonder why my  'A HREF'  html thingie was changed, I've put a link to a website, and it ended up witha relative link dink.telefragged.com/http://... :)

Re: board problem
: What was this word? It was sensored...



: Try to write it l i k e t h i s ;)



: Also, I wonder why my 'A HREF' html thingie was changed, I've put a link to a website, and it ended up witha relative link dink.telefragged.com/http://... :)



As I said before "that 5 'o's". In other words, the word is o o o o o, which I wasn't aware was any kind of word, rude or otherwise.



Let's see, does it dislike other repeated letters?



***

***

***

***

***
Re: board problem
: : What was this word? It was sensored...



: : Try to write it l i k e t h i s ;)



: : Also, I wonder why my 'A HREF' html thingie was changed, I've put a link to a website, and it ended up witha relative link dink.telefragged.com/http://... :)



: As I said before "that 5 'o's". In other words, the word is o o o o o, which I wasn't aware was any kind of word, rude or otherwise.



: Let's see, does it dislike other repeated letters?



: ***



: ***



: ***



: ***



: ***



Yeah, I noticed that in the settings.  Odd, probably to stop people from going o o o o o o o o o o o o a a a a a a a (without spaces) or something.  I think OoOoOoOoOoOo works though (O o O o O o O o)
Re: board problem
: Yeah, I noticed that in the settings. Odd, probably to stop people from going o o o o o o o o o o o o a a a a a a a (without spaces) or something. I think OoOoOoOoOoOo works though (O o O o O o O o)



I recommend taking it out, or changing it to a really outragious number, 5 seems kind og strict.



If I wanna say A***g! I darn well should be able too. :)