VX Ace vs XP Detection Script Duplication Problem

● ARCHIVED · READ-ONLY
Started by Grinn 8 posts View original ↗
  1. Ok, so this is blowing my mind. I had a super simple event I used in XP that should totally work in VX Ace but it is not.

    This fireball wanders back and forth on a predefined path. On event touch, it pushed you backwards 3 squares.

    It has through on and literally is just "play sfx, set player move backwards backwards backwards"

    XP.png

    When I duplicate it in VX Ace, it doesn't work (fireball just hovers over/through the person).

    I can occasionally get it to trigger if I wander back and forther and back and forth and time it JUST right.

    VX.png

    Am I just missing something really obvious?
  2. Try removing the 'through' option.
  3. Please remember that scripts are specific things in RPG Maker. What you have is a detection event, NOT a detection script. Using the wrong terminology just confuses the rest of us.


    I just tried the above suggestion and it works (unchecking Through).


    Also, you could change the priority to above or below characters and leave Through checked, and it will work.


    Not really sure why it doesn't work with Same as Characters and Through.
  4. @Shaz :

    In Ace, I suspect that it is because 'through' means that the event will go through the player, thus bypassing the 'touch' trigger. (Like a ghost).

    XP probably used a slightly different logic set-up that allowed the trigger to activate despite having the through option.
  5. Thanks! I'll try that when I get home!
  6. Ok, yeah so I thought I had tested that before.

    If you have "through" on, it does work but only when you collide in an up/down fashion. If you stand next to it and let it run into you, it does nothing.
  7. Grinn, please avoid double posting, as it is against the forum rules. You can review our forum rules here. Thank you.

    Just edit your last post instead of double posting.

    Have you added or modified any scripts? Either you have a script mod that's messing with the detection, or the default detection is buggy (or for some reason has a logical explanation for not triggering it).

    How many of these events are you going to have? If there aren't many (like, 10 or less), you could change it to a parallel process and do something like this:

    Code:
    Wait 10 FramesConditional Branch: Script: $game_player.x == @x && $game_player.y == @y  Play SE ...  Set Move Route (Player) ...Branch End
    If that gives you an error on the conditional branch, use this as the script instead:
    Code:
    Conditional Branch: Script: $game_player.x == $game_map.events[@event_id].x && $game_player.y == $game_map.events[@event_id].y
    I don't have Ace with me now, so I can't look up the correct info.
  8. Considering how your eventing was made, I suspect the reason your event is not moving is due to possibility that the player is standing in the middle of a long narrow corridor and facing left or right.

    Your event pushes the player backwards according to the direction he is facing. So if he is facing left and is hit by the fireball, he should be pushed 3 steps back to the right.

    Try placing this in your set move route instead :

    - Direction Fix ON

    - Walking Animation OFF

    - Move Down

    - Move Down

    - Move Down

    - Walking Animation ON

    - Direction Fix OFF

    Adjust according to your needs.