Sign in to follow this  
Gibier

Advanced Event tutorial - Various event system

Recommended Posts

First be sure to know the text variables for the event editor, they will be really usefull, we will probably use them to create each event of the tutorial.

 

 

I'll add some tutorial to create more very flexibles events. 

 

Event on map (information)

Spoiler

If you create an event on a map and this event make your character get out of the map the event will still running. No need to create another event to continue the same event.

 

How to create a flexible MOTD system (easy)

Spoiler

What you will need to do this event: a player variable, alot of conditional branch, an event who run at the player connection, event text variable.

 

Optional: an event of a short guide of the game

 

1. You will need to create a player variable. Let's name it nbConnection. This will be use to change what the chat will display when a player will come in your game.

 

2. Now you will need to create the event, let's call it MOTD and select the execution when the player is logging to the game.

 

3. Create two conditional branch ( variable nbConnection is egal to 0 )

 

4. (first) If it's true show a message on the global chat

4. (second) If it's true you can show what you want. Maybe a short starter guide ?? Which explain the gameplay, story or other things.

 

5. (first conditional branch) If it's false then nothing

5. (second conditional branch) If it's false than a new conditional branch (if player is an administrator)

 

6. Let's fill the main core of the event, put a message on the global chat: "The administrator \pn has started the game."

 

7. Else if the acces of the player is administrator or moderator then show: "The moderator \pn has started the game."

 

8. Else if the player variable nbConnection is egal or supperior than 100 (put the wanted number) put a message on the global chat: "\pn, an old player, has started the game."

 

9. Else if the player variable nbConnection is egal or supperior than 75 (put the wanted number) put a message on the global chat: "\pn, a good player of the community, has started the game."

 

10. Put many condition for the nbConection variable as you want. but the last should be supperior or egal than 1

 

11.  Choose the variable of the player: choose to add 1 and don't the define option, select the nbConnection (outside of all the conditionnal branch)

 

12. put a message on the global chat: "\onlinecount player(s) are currently online. "

 

Explanation: If it's the first time the player is joining the game he could have the choice to see a short explanation of the game.  Each time the player is joining the game his variable nbConnection will increase of 1. If the player  has already played the game 50 time the game will not showing the same message than a new player and will display a special message if the player is an administror or moderator..

 

How to create a housing system (easy)

Spoiler

What you will need to do this event: a player variable, same number of global switch than the number of house, some event on maps to acces to the house.

 

1) You will need to create some player switchs. Let's name them "ownerOfHouse 1, 2, 3, 4....". This will be use to know if the player bought the house.

 

1b) Create some other player switch "House x - Slot x"


Picture:

Spoiler

073e3380302442cac0462b25d6438687.png

 

(Propriétaire Maison 1 - District Est)

 

2) Recreate the same switch of 1b) but with global switches.

 

Picture:

Spoiler

c4429d38b84557e310b67ded6c01e5f8.png

 

3) Now find a place on a map to put your first house and go in the event menu of the maps editor.

 

Picture:

Spoiler

5fd7036495d2ff80ff2160c2483e21f6.png

 

4) Create a second event page, the first will be use to show the mask level of the house, the second will be to buy the house. Yes if the player buy the house he will see only the half of the house.

 

Picture:

Spoiler

09068e66167b1935d069b7441daf1949.png

 

5) double click on the preview square of the entity option.

 

Picture:

Spoiler

af160588ae7885d9736ebe2a4a36fc32.png

 

6) Select the tileset option and choice your tileset

 

Picture:

Spoiler

First event page:

2b1b20270713f2cb8e6bfed486e6158a.png

 

For the first page choice any tileset that you wish.

 

7) choose the page condition (ownerOfHouse 1, 2, 3, 4....)

 

Picture:

Spoiler

second page:

5b49aa662dbc05f05d2204158d662ceb.png

 

first page:

61744e5befc30c1fefa487b96b437bca.png

 

8. create another maps event to show the other part of the house, put the same condition as the second page of the other event. and select the other part of the house. (dobt forget to set it on a fringe level.

 

Picture:

Spoiler

f08a3dc6acf13f4b8465ab6d54d9d130.png

 

The buying page will seems like it: 

94c795104f1d243f083b40909d922120.png

 

The system IG will be like:

Spoiler

first page:

f2e62580b520c8cf448f39e0c127fc69.png

 

second page:

19b51f3796de0258950b668cdbaff778.png

 

Screen of the difference between an owner and not owner:

2a043cd8301e9b8d2e494b196b6af3c5.png

 

Ps: don't forget to make empty blocked event around the house if the player see the house.

Explanation: If the player didn't bought the house the player will see a panel. If he bought it the house will be display with the blocker. Many player can buy the "same house" but it's limited to the number that you want.

Share this post


Link to post
Share on other sites

I've finished the base of housing system. I fuck up the conditionnal part of the event, but it's still usable. I'm gonna fix it this week, each tutorial here are more basic version of my game's features. I'm not gonna put every feature, i'm just adding the feature that every game could use.

Share this post


Link to post
Share on other sites

The housing tutorial is pretty interesting but it may be easier to map the actual house and make the event a warp tile. You can use a switch to activate it if the player has purchased the house, or skip the switches entirely and check if the player has a key or an item on them to open it. The only benefit I see of being able to do it this way is that you can have the houses be instanced, but that may not suit everyone's needs. Still, it's a pretty cool and different approach. You could also maybe use a system like this later on to build houses if the event system gets a gettile/settile function. You may be able to do that now actually through common events.

 

I might play around with this later. It's sparked some ideas. Thank you!

Share this post


Link to post
Share on other sites
18 hours ago, Tiro said:

The housing tutorial is pretty interesting but it may be easier to map the actual house and make the event a warp tile. You can use a switch to activate it if the player has purchased the house, or skip the switches entirely and check if the player has a key or an item on them to open it. The only benefit I see of being able to do it this way is that you can have the houses be instanced, but that may not suit everyone's needs. Still, it's a pretty cool and different approach. You could also maybe use a system like this later on to build houses if the event system gets a gettile/settile function. You may be able to do that now actually through common events.

 

I might play around with this later. It's sparked some ideas. Thank you!

 

Yeah sure you can do that but i want to show some "complex" event. After all it's the main goal of the topic. Those event are basically made for my game first ^^

 

But i dont really like how this event work. I'll change it to only use player switch. Like this every player will be able to buy the "same" house.

 

So finally this event will be more complex.

 

 

Share this post


Link to post
Share on other sites

I think this is a solid tutorial, Gib. It is a complex matter to handle housing in Intersect, but it can be done. I have in development right now an "inn" system that will let you hold a room for a few hours before it kicks you out and is publicly available for rent and it was similar to yours. A real head scratcher I've not fully figured out, too. Basically, it goes something like this:

  • Create an 'Inn' map where rooms can be rented.
  • Within the map are 'room' events which show open/closed doors depending on global variables (Room1IsRented, etc). Default is to just display a door which you cannot enter. Second tab states that it displays a lit-up entryway which, on touch, warps player to room if it is rented.
  • Within the Inn map there is also an event-NPC who 'sells' the rooms. He sets the global variables as well as a player variable (IsRentingRoom1, etc).
  • Create the 'rented' room which kicks the player out and sets the global (Room1IsRented) to false after an hour.
  • I also set the 'rented' room to have a locked door system. This is a global variable triggered by an event within the rented room to show locked/unlocked status on the room event within the 'Inn' map. In other words, a curtain shows up on that room within the inn map, when the door is locked, telling players they cannot enter. Warp is also removed.

I don't mind telling you folks that bit about kicking the player and resetting switches after an hour is the most difficult task, presently. I have it set to wait in intervals of 30000ms to trigger kicking anyone out... for an hour :D I'm probably missing an easier way. ;)

Share this post


Link to post
Share on other sites
16 minutes ago, EVOLV said:

I think this is a solid tutorial, Gib. It is a complex matter to handle housing in Intersect, but it can be done. I have in development right now an "inn" system that will let you hold a room for a few hours before it kicks you out and is publicly available for rent and it was similar to yours. A real head scratcher I've not fully figured out, too. Basically, it goes something like this:

  • Create an 'Inn' map where rooms can be rented.
  • Within the map are 'room' events which show open/closed doors depending on global variables (Room1IsRented, etc). Default is to just display a door which you cannot enter. Second tab states that it displays a lit-up entryway which, on touch, warps player to room if it is rented.
  • Within the Inn map there is also an event-NPC who 'sells' the rooms. He sets the global variables as well as a player variable (IsRentingRoom1, etc).
  • Create the 'rented' room which kicks the player out and sets the global (Room1IsRented) to false after an hour.
  • I also set the 'rented' room to have a locked door system. This is a global variable triggered by an event within the rented room to show locked/unlocked status on the room event within the 'Inn' map. In other words, a curtain shows up on that room within the inn map, when the door is locked, telling players they cannot enter. Warp is also removed.

I don't mind telling you folks that bit about kicking the player and resetting switches after an hour is the most difficult task, presently. I have it set to wait in intervals of 30000ms to trigger kicking anyone out... for an hour :D I'm probably missing an easier way. ;)

 

I'm not at my home. But when i'm back i'll finish my housting system and will take a look on it after.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this