Blizz ABS: Through Problems with Events

Started by shintashi, October 10, 2012, 01:33:19 pm

Previous topic - Next topic

shintashi

I'm experiencing a couple of problems with 'through' aka collision detection with events.

First of all, when I create an event using a non passable tile map for it's icon, it becomes passable. For example, a non passable boulder can be walked through, whereas in the non-ABS default, an imported tile map event retains its original pass/non pass abilities.

Second, I tried making jumping spiders on my map, but the system crashed. Then I tried using this code:

$game_map.events[id].jump(x,y)

in response to this error:
Bliz_ABS3 line 1869: NoMethodError occured

undefined method 'jump_passable?" for #<Map_Enemy:0x8e66a8>

but this also crashed. Finally I took out any of the programmed movements and just set "approach" as default. My event was on water, and could not move, regardless of what I had set for pass/through. The event functioned normally on land with regard to moving at random or approach. Custom crashes immediately with any kind of jump.

When I tried using a passable event on top of a non passable terrain (a common technique in default for making bridges and tunnels) I could not pass through.

I feel like this pass/no pass, through, and jump, are all related to the same or similar glitches in the movement/through section of ABS events.





Zexion

I remember stuff like this used to happen to me. I'm not 100% sure, but did you delete your maps and re-make them after installing blizz-abs. (Again I'm not sure if you have to, but Idk why I have a feeling you should).

shintashi

Quote from: Zexion on October 10, 2012, 04:08:39 pm
I remember stuff like this used to happen to me. I'm not 100% sure, but did you delete your maps and re-make them after installing blizz-abs. (Again I'm not sure if you have to, but Idk why I have a feeling you should).


using stock maps for now, although I made a single hue shifted "desert" map. The errors occur on default and imported maps.

shintashi

so I've been reading over the manual, and I get the impression if I want to create a non passable event, like a rock that is later destroyed or pushed out of the way, I have to first create some kind of event, but the event has to be alignment group #4: Objects, and considered lifeless, linked, and permanent. I cannot however locate the instructions to make this possible. Whereas setting an enemy is simple as saying
Goblin \e[1]
in the event title, or even
 \e[1]
there is nothing like
Rock \o[1]
to indicate objects that I can discern, nor do I know where objects like rocks or beer barrels might be stored. Are they enemies? items? characters? I have no idea.

Zexion

I think it would be in the configuration, run that program that comes with blizz abs. You can set up the alignment groups in it.

winkio

from section 4.1.2 of the manual:

Quote\g[ID] - different alignment group than the default primary enemy group (read Alignment Groups for more information)


You only need to make them enemies with different alignment groups if you want them destroyed, or to react to attacks (torches that light on fire when hit with a fire spell, for example), other stuff like blocks to be pushed can be done without using any Blizz-ABS functionality.

shintashi

Quote from: winkio on October 13, 2012, 10:01:36 pm
from section 4.1.2 of the manual:

Quote\g[ID] - different alignment group than the default primary enemy group (read Alignment Groups for more information)


You only need to make them enemies with different alignment groups if you want them destroyed, or to react to attacks (torches that light on fire when hit with a fire spell, for example), other stuff like blocks to be pushed can be done without using any Blizz-ABS functionality.


I got as far as making an event rock object that just sat there, using
\e[4] rock \g[4]


but I still pass through it. What precisely must I do in Blizz ABS to NOT be able to walk through an event rock? The technique used in unmodified XP does not present the problem the Blizz ABS presents.

winkio

October 14, 2012, 12:42:56 am #7 Last Edit: October 14, 2012, 01:06:30 am by winkio
Huh, well what do you know, that is a bug.  I could have sworn it was an old one that I fixed, but perhaps recent enough that it didn't make it into 2.84.  Let me look for the fix code.

EDIT: Well I didn't find it on this site, it's probably buried under pages of other comments, but I pulled up the code and figured it out real fast.

In part 2, replace line 8756, which is

if event.character_name != "" && 


with the following line:

if (event.character_name != "" || event.tile_id != 0) && 


I just tested it and it worked with all the different tiles (fully passable, partially passable, and impassable).  Sorry for the delay in sorting it out.  Oh, and you don't need to use \e and \g unless you want it to be attacked like an enemy.  If the rock is just something that is there on the map, it doesn't need those tags.

shintashi