bug, remark and wish

Did send this mail to supoort. Maybe you like to know about it:

I am a registered user of Coldstone and I have a wish, a remark and a bug I like to report:

- I tried to create a script to change the player icon when walking past a certain point on a map. BUT: This can not be done because the script is triggered again and again when a new player icon is placed on the spot. The player halts in an endless loop. I know this because my player is supposed to change back into another icon when passing the point again.

- During this process I discovered that events are not triggered when the movement tiles are too small. I worked with movement tiles of 86 to get a nice slowly and smoothly walking player animation (I used 20 frames), but I had to go back to the awfull 3224 tiles to get the events working. The player has a collision sphere of 40, and it is a big player.

- That were the remark and the bug. And here is my wish: I would like to have dialogs that do not stop the gameplay. They simply appear and fade away after a some time. These could be used for newsflashes like: 'Beware of the werewolfs' or 'Remember to be back before dark'. Might be nice. Especially with a timer:-)

Thanks in advance

Jeroen Goulooze

------------------

Quote

Originally posted by jeroen goulooze:
Did send this mail to supoort. Maybe you like to know about it:

Thanks! However, your bug isn't a bug(as I look at it), merely user error. The request is possible. The remark, well, I've never played with movement tile sizes so I can't comment on that, heh.

Quote

- I tried to create a script to change the player icon when walking past a certain point on a map. BUT: This can not be done because the script is triggered again and again when a new player icon is placed on the spot. The player halts in an endless loop. I know this because my player is supposed to change back into another icon when passing the point again.

Do you wish for this spot to change your icon every time it is stepped on? You will want to use globals and conditionals to determine whether this spot should change the icon or not.

If you want the spot to change it with every step then I have an idea:

My first thought is that what is happening is you run the event and, when the icon is placed, it launches the event tile event before completing the original event. If this is the case you can easily over come this:

  • Basically, create a global; we'll call it &&gb;_ok_change.
  • At the beginning of the tile event place a conditional to see if this global is greater than 0(if it has no value then it is NULL which equates with 0).
  • If this global is greater than 0 then end the event immediately. If not continue with your functions.
  • Just before you change the player's icon, use a change global event object to set your &&gb;_ok_change global to 1.
  • Then change the player's icon
  • Finally, use a change global event object to set &&gb;_ok_change back to 0.

What this will do is make it so when the player icon is switched the event will be unable to run immediately. The event will then finish and the player will be able to move. If he walks back onto the tile then the event will fire off again.

If the above does not work then there is another problem. Post back and I'll offer some alternatives to get what you want to do done.

Quote

And here is my wish: I would like to have dialogs that do not stop the gameplay. They simply appear and fade away after a some time. These could be used for newsflashes like: 'Beware of the werewolfs' or 'Remember to be back before dark'. Might be nice. Especially with a timer:-)

Use a stamp.

Using a stamp you can fade things in and out if you create a fading animation. Or you can stick something on the screen and then peel it off. If you want it to move to follow the player, then you can create a timer and have it very rapidly place the stamp at a configurable coordinate(ie, player's coordinates minus (5,5)) and then remove it/replace it.

Make sense?

------------------
(url="http://"http://stark.evula.net/pogwalkthrough.htm")PoG Walkthrough and Compendium(/url) | (url="http://"http://stark.evula.net/plugins/dev_tools.htm")PoG Dev Tools(/url) | (url="http://"http://stark.evula.net/plugins/spells_expander.htm")Spells Expander(/url)
(url="http://"http://stark.evula.net")Stark.evula.net(/url) | (url="http://"http://www.evula.net")EVula.net(/url) | (url="http://"http://mail.ambrosiasw.com/mailman/listinfo/coldstone_dev")Coldstone-dev mailing list(/url) | (url="http://"http://ucplugs.evula.net/pog.html")PoG Upcoming Plug-Ins Directory(/url)

I'll get back to you about the icon changing. As I see it an OnEnter message is send to the engine when a player steps on a tile. And when the player icon is changed the Onenter message is send again. In my example the player kept on changing from icon A to B to A to B etc. Well, one way to find out...

About the dialog solution. I thought about using the player portret for this. Or Abe Exodus/Odyssee style bulletin boards. I do not like to program something that keeps following the player around. Sounds messy. Sorry....

------------------

Okay, this is how I did it (and thanx for the advice):

- I created two player icons, a big one called bigAnim and a small one called SmallAnim. the BigAnim is the default one.

- I created a global called gb_IconChange. If the value is 1 or 3, the player has the big icon (BigAnim), if it is 2 or 4 it is the small icon (SmallAnim). In the Main.cet the value is set to 1.

- I created an action called Set4Change:
-- if gb_IconChange is smaller than 3 then gb_IconChange = gb_IconChange + 2

- I created an action Set2Big:
-- gb_IconChange = 1
-- change player icon to BigAnim

- I created an action Set2Small:
-- gb_IconChange = 2
-- change player icon to SmallAnim

- On my map I created a local action Called ChangeStart:
-- if gb_IconChange = 3 then call Set2Small
-- if gb_iconchange = 4 then call set2Big

- On my map I created one small region with my local action ChagneStart (*) and I surrounded it with Set4Change (+) like this:
++++
++
+
+
++++

So the player starts with BigAnim, having gb_iconchange = 1. That value is changed to 3 when he walks over the Set4Change action. Then he or she walks over the ChangeStart action and the player icon is changed, but only when the value of gb_iconchange is higher then 2. In the change Actions the value is set to 1 or 2.

Next step: I'm going to create an animation with my player having a propellor on his head, so he can find it and dive off a cliff and fly away!

BUT: This is a workaround. I still consider it a bug, but since there is a workaround it is not that serious anymore.

I shall do some experiments with the collision sphere and the movement tiles. I think when the movement tiles are 20 the collision sphere can be 40 max.

------------------

Quote

Originally posted by jeroen goulooze:
Okay, this is how I did it (and thanx for the advice):

Excellent! I'm glad to hear it worked.

Quote

BUT: This is a workaround. I still consider it a bug, but since there is a workaround it is not that serious anymore.

Well, perhaps. But I can think of a few instances where it would be nice for if an icon is changed that the tile event is immediately triggered, as opposed to forcing the player to walk across it again. Since, if this is not what you want, you can fairly easily utilize checks to prevent this from happening, I wouldn't consider it a bug.

But, thats just me. 🙂

Anyways, I'm glad things are working for you.

------------------
(url="http://"http://stark.evula.net/pogwalkthrough.htm")PoG Walkthrough and Compendium(/url) | (url="http://"http://stark.evula.net/plugins/dev_tools.htm")PoG Dev Tools(/url) | (url="http://"http://stark.evula.net/plugins/spells_expander.htm")Spells Expander(/url)
(url="http://"http://stark.evula.net")Stark.evula.net(/url) | (url="http://"http://www.evula.net")EVula.net(/url) | (url="http://"http://mail.ambrosiasw.com/mailman/listinfo/coldstone_dev")Coldstone-dev mailing list(/url) | (url="http://"http://ucplugs.evula.net/pog.html")PoG Upcoming Plug-Ins Directory(/url)