Ambrosia Garden Archive
    • Force Key down event


      I've searched around a bit and either I'm just not seeing it or it hasn't been asked. I was wondering if it is it possible to force the engine into thinking that the user has pressed the up or down key to script movement? Any help on this would be much appreciated.

      ------------------
      -Joseph
      "The Cruelest Lies Are Told in Silence"

    • Quote

      Originally posted by joseph:
      I've searched around a bit and either I'm just not seeing it or it hasn't been asked. I was wondering if it is it possible to force the engine into thinking that the user has pressed the up or down key to script movement? Any help on this would be much appreciated.

      You could use a series of globals to aquire the player's X/Y coordinates and then move the character with map position change event objects(incrementing/decrementing the proper coordinate by 1 to simulate progressive movement). This wouldn't cause the player's icon to change though so it wouldn't look like they were walking(if your animations walk).

      ------------------
      (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 actually had a system which did this and it was almost feasible to use, however a bug in coldstone causes the player to walk through no access tiles, and I had to make the tiles very small to create a fluid movement. I was hoping that someone would have found a cleaner way of doing this.

      ------------------
      -Joseph
      "The Cruelest Lies Are Told in Silence"

    • Quote

      Originally posted by joseph:
      ..... however a bug in coldstone causes the player to walk through no access tiles, ....

      Hi joseph, welcome to the boards. Any time you relocate to a blocked tile, it remains unblocked as long as you remain on that map. I don't know if I would call it a bug or not. I can see how it hinders what you want to do, but it does have some advantages also. See the recent thread (url="http://"http://www.AmbrosiaSW.com/webboard/Forum48/HTML/001683.html#")here.(/url) By plotting out the route you wish to go, I would think you can avoid "walking through walls" or is this something that happens at various locations on demand? If the latter is the case, can you have conditionals check whether map co-ordinates are blocked?

      ------------------
      My Doctor said I was having too much wine, women, and song - so I gave up singing because 2 out of 3 is not so bad.
      The (url="http://"http://mywebpage.netscape.com/rduckfwj/pog/mapnotes.html")Kingdom of Garendall(/url) sectional map is easily printed from gif format pages.
      Find those areas you missed the first time around. You'll want to explore those hidden areas now made accessible with Spells Expander.

    • Quote

      can you have conditionals check whether map co-ordinates are blocked?

      That actually has some possibilities, but I'm not quite sure what that would look like. I'm guessing probably somesort of conditional like "if &&playerX; (or Y) is something(?) then exit event"? You'll have to forgive me I'm not used to the whole event driven thing yet. I keep wanting to just throw together a conditional inside a function. So I'd definitely appreciate any advice/hints.

      Thanks,

      ------------------
      -Joseph
      "The Cruelest Lies Are Told in Silence"

    • Well...there is a hard way you could do it. Any square that is under a blocked square would need to be recorded. Then, you could use conditionals to make sure that the player could only move up if he/she wasn't in any of these squares. The same would have to be done for left, right, and down. I don't suggest this, but if you really want to set it up like that then this is the way to do it. Note also that you could use a change player animation to a standard animation that looked like the player walking to get the movement effect. The only problem with this whole system is that it would take forever to do.

      ------------------
      CI-I@()s
      (url="http://"http://www.evula.org/cha0s/")The Homepage of Cha0s(/url)--(url="http://"http://www.avidgamers.com/cha0s/")Cha0s Boards(/url)

    • Quote

      Originally posted by CI-Ia0s:
      Well...there is a hard way you could do it. Any square that is under a blocked square would need to be recorded. .....

      There might be a somewhat easier way. I would still be some work. Plot an invisible line one tile short of blocked areas and change those tiles to "end event"(see edit below). Place all these changed tiles into a separate event (let's call it "don't hit wall") then in the sequence which allows your travel, put a "call event" which links to "don't hit wall". That way, if you do this action more than once, it calls for "don't hit wall" each time you need it, and stops the action anytime you get too close to the edge. The advantage here is that other events which are not an access problem will not be affected because the "don't hit wall" only gets called from within the travel event.

      Edit: The "end event" would have to affect the travel event and not the "don't hit wall" event. Maybe someone knows an easy way to link it back. Setting globals to an assigned value may be the answer.

      ------------------
      My Doctor said I was having too much wine, women, and song - so I gave up singing because 2 out of 3 is not so bad.
      The (url="http://"http://mywebpage.netscape.com/rduckfwj/pog/mapnotes.html")Kingdom of Garendall(/url) sectional map is easily printed from gif format pages.
      Find those areas you missed the first time around. You'll want to explore those hidden areas now made accessible with Spells Expander.

      (This message has been edited by Rubber Ducky (edited 01-24-2003).)

    • Quote

      Originally posted by Rubber Ducky:
      can you have conditionals check whether map co-ordinates are blocked?

      Unfortunately, no. There is no conditional case to check if a tile has its access blocked or free, nor is there a seperate event object that is able to check for this.

      Although as has been pointed out, any square that the player is on becomes free so an event that checks the player's tile would automatically return free. So for this to work we'd need the ability to specify the tile's coordinates and not just use PlayerX/Y.

      I really wish this would happen though. I have many uses for it.

      ------------------
      (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've spent the better part of a day pondering this, blessedly away from my computer. Rubber Ducky's proposal seems to have the best merit for solving the "I'm etheral and running through the floors" sort of thing. The reason for all these questions was for ironing out a feasable means of jumping on a map. I was reading an article on acceleration and the following thought occurred:

      global boostpwr // how fast player will go up in tiles
      global height_ticker // how "long" +upward momentum is applied
      global height_max // maximum height value (changeable on the fly for more or less needed "height")

      on "up animation" call event

      speed = boostpwr
      ++height_ticker
      if height_ticker >= height_max then
      fall_down
      else

      Now in practice this "sort of works", ideally the speed value would be set high enough something like 24? so that the player reaches height_max rather quickly. On the plus side, since we're just triggering a few "up" movements the other directions are not affected (thinking of arcs and such). Now the falling part is where the pain occurs. I'm thinking that by applying a layer of "end event" triggers that it could work.

      Since we know how high a "jump" can occur (height_max) we could simply tell the computer to do a small loop of map sets player y until height_ticker = 0. And IF applying a layer of end events can be made to work, wouldn't this be a defacto way to jump? Granted the down part is really poor. I'm still trying to find something to exploit to make this easier.

      Comments?

      ------------------
      -Joseph
      "The Cruelest Lies Are Told in Silence"