Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Floating Island help

I'm not sure whether or not this is the right forum, because I'm not sure whether or not I'll need scripting for this, but here goes...

I want to make a floating island on a world map that I can only enter if I'm in an airship, but there's absolutely no collision detection if I'm in an airship. Since not even an Above Characters event can collide with another Above Characters event, how do I do this?
 
i think the best solution and probably easiest is to find the tileset swap script. what this does is allows you to do over and under things like a bridge that you walk over then go under. this may also work for what you need it to do. if not im not sure... id have to do a little work on it and im not home right now.
 
I don't think the tileset swap script would work. The floating island tiles are automatically set so that you can walk under them, but fly over them. The problem is that Above Character events can't collide with any other events, whether or not they're also Above Character.
 
okay, so you want to walk under it, but fly over it? And you want to make it so when you collide with the event while in an airship, you 'enter' the island? BUT when you collide with it, while in the airship, it won't work?

if that is the case, then you could have a parallel common event to check if you're in the airship, and at a certain coordinate (coordinate of the event), and when you are, to teleport you to the new map or what have you.

sorry, i couldn't really understand what you were asking.
 
Cruelty: What I mean is that what's happening is that I'm walking under it and flying over it, but what I'm TRYING to be able to do is walk under it, but fly INTO it (that is, enter it). I'll try what you suggested, though.

Ryuzaki: Tried that, didn't work.
 
I still think this would work.  Use the tileset swap script.  What it will do is set your first tileset to have the "floating island" (dum dum DUMMMM) be set to above.  Then when you get into your "airship" *random victory music here* have it switch tilesets.  your second tileset should have it set so that the island is at same level.  Now... the good part.  Set up events all the way around the island.  These events need two pages.  First page is blank and second page is activated when you get in the airship.  Thus... creating the effect of a floating island.  Havent actually tested it much myself but in theory it should work just fine.
 
boudragon: Dude, there's no need for a tileset swap script. The floating island tiles are alread set up in the Passability settings so that characters will walk under it, but airships will fly over it, thus placing it somewhere between Same As Characters and Above Characters.

Anyways, I took a look, and I think the problem is this: None of the three collision detection scripts (Game_Character, Game_Player, or Game_Event, I'm not sure which needs to be changed) has anything allowing a priority_type 2 (that is, Above Characters) event or the airship to collide with anything at all. Meaning that since the airship is priority_type 2, it will fly over everything and won't trigger any events, no matter what.
 
Nate McCloud":21dilf0y said:
Anyways, I took a look, and I think the problem is this: None of the three collision detection scripts (Game_Character, Game_Player, or Game_Event, I'm not sure which needs to be changed) has anything allowing a priority_type 2 (that is, Above Characters) event or the airship to collide with anything at all. Meaning that since the airship is priority_type 2, it will fly over everything and won't trigger any events, no matter what.
Set the event on the island like this:
[Parallel Process]
Set Character X&Y
IF Character X = Island's coordinate x
:: IF Character Y = Island's coordinate y
:: :: Teleport to Island Castle (or whatever)

It's the only way using events.
 
Before I try that, would this do the same thing?

IF $game_player.pos?($game_map.events[2].x, $game_map.events[2].y) and $game_player.in_airship?
:: Teleport to Gate Island

Edit: It worked. Thanks! Though now I have to figure out how to change the BGM to the proper map BGM when I leave the vehicle, instead of the BGM of the map the vehicle was entered on.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top