make character be certain level to be able to do things

● ARCHIVED · READ-ONLY
Started by dylansgames 8 posts View original ↗
  1. I want to have the ability to require the character to be a certain level in able to access certain conversations. For example: level 0-10 the character cant talk to the fighting guild capt. Once he reaches LVL 11 the capt. will talk to him.
  2. If you just want to look at an Actor's level, there is a Control Variables setting to get that:

    Under Control Variables,

    set a particular variable to "Game Data", then you can choose the Actor's Level.

    Then, use a Conditional Branch to compare that just-set Variable to the desired level.
  3. Exactly this.  I'm using that exact system right now.  I have the game track Actor Levels for certain events and then they trigger once those levels are hit.  You don't really have to use a "Conditional Branch" either if you don't want to.  You can make new pages triggered by the variable for the level instead if you want to.
  4. I don't think so Tai. You have to run the Control Variables to GET the level into the variable.


    You can either do that with a parallel process event that continually does it (NOT recommended - DON'T do this), or in the event itself, followed by a Conditional Branch to see if they're at the required level.


    Control Variables [0001: Actor 1's Level] = Actor 1's Level


    sets the variable to the actor's level at the time that command is run. It does NOT say "I want variable 1 to contain Actor 1's level, so each time I use Variable 1, it will get the current level" - it will stay at the previous value until you run the Control Variables command again.


    I DID write a Linked Variables script that WOULD allow you to do that, though. You "link" variable 1 to Actor 1's level, then each time you use Variable 1 in a conditional branch, page condition, etc, it goes off and updates it with whatever the correct level is.
  5. That's exactly what I did, Shaz.  Except it works by simply checking the variable itself.  It's currently set up as a "Common Event" simply because it's one of only two Common events I actually track at this point (there's very little reason to track much else right now, so there hasn't been any lag during play)?  If you don't plan to use a lot of common events or just straight up events on every map, it might be easier to just set it up as a Common Event once and then you don't have to put in Conditional Branches on every single event it would apply to.

    Now, if you're going for a lot of events where this would apply on a single map or you have a lot of common events...  Then, it's better to simply Conditional Branch it to avoid any sort of lag.

    I think it really boils down to what you need it to actually do and how many Parallel Process events you're actually going to run in tandem...

    I just personally figure it's better as a Common Event in my own game since there really isn't anything else running alongside it at the moment and playtesting (even on my 200x200 map) hasn't really produced any lag what-so-ever.  If I start adding more Common Events or need it to mess with more events than it currently does...  Well... I'll probably turn it into "Conditional Branch" material and mess with it that way.  But, that's just my two cents on the discussion.  The way I do things is pretty far from normal.
  6. The reason parallel processes aren't good here is that there are only some very specific ways for an actor's level to change - at the end of battle, or via the Change Level command. If you know exactly when the level COULD change, you are wasting a lot of CPU (and possibly causing the game to lag) by doing it as a parallel process. Just change the variable after the Change Level command or after each battle (if your battles are evented, that's a simple call to a common event - to save repeating the same logic all over the place; if your battles are random and set up in the map, it'd be a small script mod).


    I'm all for "if you know exactly WHEN this is going to happen, you don't need to check for it 60 times every second" :)
  7. The problem is, for a lot of my events, anything to "check level" as a conditional branch would be a huge pain in the rear.  See, I have events that are invisible (as in, single page events that don't show up on a map) until the variable for "Player Level" is triggered.  These are things like a Ladder that appears against a cliff side, or a bridge that appears across the water.  I even have the first storyline quest linked to this level (as in, it wouldn't appear and you can't see it until it's triggered by the level as it's a single-page event as well).

    In short, if I'm not using one Common Event for it, I'd be using another.

    If my events were already visible and able to be interacted with the first time, I could have them vanish upon clicking by running the Conditional Branch...  But, when they start invisible and need to appear upon hitting a certain level (the entire event, not simply a page in the event), then really my only option is to use a Common Event that simply checks the level of main character.