NPC - Better to code in common events or in the event itself?

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
184
Reaction score
78
First Language
French
Primarily Uses
RMMV
Hello!

I'm at the stage where I need to code my NPC, and decided to start with my merchants (apothecary, blacksmith, innkeeper, etc).

I'd like some input, so that I code things right from the get-go: is it better to put all the merchant code in a common event, or in the event itself with multiple event pages?

Details:
  • There are 4 levels of standing with each merchant, depending how much they like you (which can be increased by doing side-quests for them).
  • Each merchant offer 3 branches for text:
    • Trade (buy and sell stuff),
    • Chat (tell me about yourself),
    • Quest (got anything for me to do?)
  • Each text branch expands with higher standing with the merchant. For instance:
    • Trade: at standing level 1, you can buy a health potion. at level 4, you have access to invisibility potion, various poisons, herbs to remove KO, etc.
    • Chat: at standing level 1, chat will only give chit-chat text such as "I'm NPC 123 and been living in this village all my life". At standing level 4, you get multiple sub-options, taking you down the rabbit hole of their lives, siblings, who they love, they view of the world, etc.

My gut feeling tells me everything should be broken down in a common event, but then I'm starting to worry how I would be able to do cut scenes and move the NPCs around. For instance: when renting a room, the Innkeeper will walk you to the room and unlock the door for you.

Thoughts?
 

ShadowDragon

Veteran
Veteran
Joined
Oct 8, 2018
Messages
3,131
Reaction score
1,158
First Language
Dutch
Primarily Uses
RMMV
if each NPC sells different stuff at different levels in a conditional branch, you
can do it on the NPC it self (while it has a level of trust.

if the items are the same, (without the level of trust) you can built a common event.
if this is a traveling merchant you can use a common event for this one.

but 4 different ones and in 1 place = better in the event itself, if they travel as
well, make a common event.

but this is my personal reference, but how you built it is entirely up to you.

Some make it in the common event (if you dont use all), to quickly find
the error and fix it, so you dont have to search all maps (if you dont name them)
for a quick fix. but this is also u to you how you deal with it.

make it the way you feel most confortable with and follow your heart :)
 

Tiamat-86

old jrpg gamer
Veteran
Joined
Dec 5, 2017
Messages
597
Reaction score
249
First Language
english
Primarily Uses
RMMV
the examples you gave would say use separate events.

dialog options wouldnt want every item shop owner to have the exact same life story and give you quests on the other side of the world.
trying to common event it while having branch dialog for different NPCs would require far more branches and variable checks, while requiring more error testing.

individually eventing this could just make each fame level its own page or just 1 page with conditional branch for fame level.
no need for extra conditions checking what town your in before giving local info.
each NPC can have different life story.
can separate fame level and items available for each different region.

and the last example of the inn keeper. common eventing this movement and door unlocking would require either all inn to have the exact same layout or conditional branches with at least 4 variables to make it work right. individual eventing is just a simple move > unlock > move.
the whole long rest aspect can be common event though.
fade out: play sound: recover: (if have any day/rest based switches can flip those): (other long rest mechanics you make): fade in
 

gstv87

Veteran
Veteran
Joined
Oct 20, 2015
Messages
2,268
Reaction score
1,286
First Language
Spanish
Primarily Uses
RMVXA
you'd be surprised how this problem can be solved by using the most noobish of solutions to the oldest problem of programming ever.

when they teach you programming, one of the first things they tell you, based on what you'd be likely to be doing, is "DON'T USE JUMPS."
you're supposed to use blocks, loops and conditionals to direct program flow.... as in, you know, *proper* programming.

but when you know how to use jumps, and how to bypass conditionals, and how to break loops mid way,... you can control a common event.

it's like the Matrix: "Are you telling me I can use multiple blocks in a single common event?"
"No, I'm telling you, when you are ready, you won't have to."
when you're ready, you can keep the shop event as it is, and transfer all the validations over to the common event, in a sort of hybrid system: trigger from the event, send over to common event, process and decide, send back, and present result.
 

Milennin

"With a bang and a boom!"
Veteran
Joined
Feb 7, 2013
Messages
2,610
Reaction score
1,746
First Language
English
Primarily Uses
RMMV
Any eventing that is used more than once goes in a Common Event, that's how I do it. If it's unique to a single event, keep it on the event itself.
 

Moon_Haven

Veteran
Veteran
Joined
May 5, 2020
Messages
184
Reaction score
78
First Language
French
Primarily Uses
RMMV
Thanks folks! Since the traders will be interacted with multiple times, I think I'll go with Common Events for the traders. With some experience, I'll see about the other NPCs. Most of them will be very simple (like hi, hello, bye) so probably do not justify a full blown common event.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Made a surprising amount of progress in these past two days. Really helps when parallax mapping breaks limitation and allowing me to be creative and make maps that match my vision.
Let's promote our amazing artists in RPG Maker community! I posted right now about my game Phil Alone on Twitter and I decided to thanks Lime Zu, the amazing artist that did all the pixel assets for my game!
I just realised that the reason behind me not being able to make a game may be the lack of my original resources. I just dont like the look of MV faces and sprites, lol. Guess I will have make my own art.
I'm posting a commission art soon! :kaoswt2:
So here's a fun/tragic fact about me: I have an awful memory. But to be correct, I have memory "leaks". My memory is actually amazing, my issue is I can't keep memories for long, in fact, I once forgot my name. :kaoswt2:

Forum statistics

Threads
107,451
Messages
1,029,799
Members
139,582
Latest member
BoldSilver
Top