Written by: Vortex774

Note: I came up with this system without the help of anyone, and therefore, if you use this system in your game, credit in your game is required. Thank you.

This tutorial is written to advance your game's uniqueness and overall enjoyability. This tutorial will explain how to have different monsters at night than in the day on your overworld map. Please note that you must already have a day/night system that is active in your game. Check out the other tutorials for implementing that idea, then come back here.

STEP 1 - Create a new event on your overworld map. I put mine in the upper left corner so I can easily remember where it is.

STEP 2 - Enter the following code to the event you made (explanation follows)...

First of all, make the first page blank. On the second page, set it to parallel process.
In your day/night system, you should have a switch that turns on at night time. In my game, the switch "NightTime" turns on when it becomes night. So have this 2nd page activated when the switch "NightTime" turns on. Now, for the actual coding...
<>Set Scrn Exchange Type:Teleport/Eras, Instant
<>Set Scrn Exchange Type:Teleport/Show, Instant
<>Variable Op:[0010:PlayerPosX] Set, Hero X pos
<>Variable Op:[0010:PlayerPosY] Set, Hero Y pos
<>Variable Op:[0010:MapID] + , 21
<>Goto Memorized Plac:V[0012] (V[0010],V[0011])

Alright, now the explanation, I will break those lines down and explain all of it.

<>Set Scrn Exchange Type:Teleport/Eras, Instant

This command is on tab 1, right column, very bottom. Set the Teleport/Erase to Instant. This means, when you teleport, the screen will erase instantly.

<>Set Scrn Exchange Type:Teleport/Show, Instant

Same as above. Set the Teleport/Show to Instant. This mean when you teleport, the screen you are teleporting to will appear instantly.

<>Variable Op:[0010:PlayerPosX] Set, Hero X pos

This creates a variables named PlayerPosX. The command is found on the tab 1, left column, the 7th option down. The radio button named "One" should be on, but if it isn't, turn it on. Click the [..] button and name a new variable PlayerPosX. Int he Operation box, click on Set. In the Operand box, click the hero button. In the left box choose "Hero", in the right box
choose "X Coordinate". Click Ok.
You just created a variables (which is a number that will be saved). This number represents the X coordinate the player is at.

<>Variable Op:[0010:PlayerPosY] Set, Hero Y pos

This does the same thing as the above line, except this variables stores the Y coordinate of the player. Go through the same process as above, except name the variables PlayerPosY and choose "Y Coordinate" instead of "X Coordinate".

<>Variable Op:[0010:MapID] + , 21

Before putting this line in, copy your overworld map (right click on the map, click Copy). Then right click somewhere in the list of maps and click Paste. Rename the map to something such as Overworld 2.

For me, this was the tricky part in getting this whole system to work. Make a new variable, name it MapID. Click on '+' in the operations box. In the Operand box, click Set. This is the hard part. In my game, my overworld map has a label of 0001. You can find out what your
label is by going to Map Properties and look in the title bar of the map properties window. In my game, the map label for my copy of the overworld map is 0022. It will most likely be different in your game. So, in the Set box in the Operand area of the variable operation menu, I put 21. That is because the difference between my two overworld maps is 21. If your copy of your overworld has a label of 0036, you would put 35 in the set box, because 35 is the difference between the two overworld maps. Click OK.

<>Goto Memorized Plac:V[0012] (V[0010],V[0011])

This is located on Tab 2, left column, 7 options down. This option is used to go to a place you define. In the Map ID box, click the [...] to choose the variable you created named "MapID". In X Coordinate box, choose the "PlayerPosX" variable, and in the Y Coordinate, choose the "PlayerPosY" variables. Click OK.

Now if you wish, add two screen exchange commands at the end to switch the Teleport/Show and Teleport/Erase back to whatever you had it at before.


Thought you might ask that. First you created a copy of your overworld map. You will be teleported to this map when night arrives without the player even knowing it, because you set the screen exchange style to instant. Then you made some variables. These variables store the exact location of the hero character. That is, the exact square on the map where the hero is standing. Then you made another variables named MapID. Without this, the player would be teleported to the same location on the same map. You want the player to be teleported to the same location on a DIFFERENT map. Therefore, you added a certain number to the variable called MapID. The sum
turns out to be equal to the label number on the copy of your overworld. Now you will be teleported to the same location on the new map! Finally, we used Goto Memorized Place. Here, you put in the variables you created. This defines the position the player is to be teleported to, which will end up being the EXACT location on a replica of your overworld map. Pretty cool, huh?


Easy! Copy the event you just made and paste it into the overworld replica.

Make these changes to the event:
--Have the event activate when a "Daytime" is on instead of "NightTime".
--In the variable operation menu for "MapID", instead of using the plus sign(+), use the subtract sign(-). This will bring you back to your original map, at the same position you were in before.


What about them? Copy the areas you created for your original overworld and paste them to your overworld replica. Then, go to Area Properties and change the monster parties to new ones that are only around at night!


Remember, I want credit for using this unique system! A simple mentioning in the credits for your game is good enough for me.

Thank you,

Сайт управляется системой uCoz