Is it possible to spawn area transition trigger?

I tried to do this by making a script like this, but I saw in the toolset that CreateObject doesn’t support trigger…

//Put this on action taken in the conversation editor
void main()
{

object oPC = GetPCSpeaker();

object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag(“transition_sacred_clearing_wp”);

lTarget = GetLocation(oTarget);

oSpawn = CreateObject(OBJECT_TYPE_TRIGGER, “area_transtion_clearing”, lTarget);

}

Is there any way to do this? I thought it would be cool in my module if a Area Transition Trigger were not there until you had talked to a person saying “You could go here”. If it’s not possible it’s no biggie.

Thanks for your time!

Never tried this unfortunately but do know you can make regular triggers with a script to jump players on_enter and make them active or inactive by setting up a variable on them. One that is checked as part of the script that actions the jump. That variable can be set by your conversation.

I also know there’s a way to make encounters active or inactive by placing a trigger around it and using that to check for certain conditions which will change the status of the encounter. However again, I’ve never tried it on a transition.

At the least what you might try is deliberately blocking the area transition with a placeable that the conversation can move. Or if you want to be sophisticated it can have a conversation on_used that allows the player to “hack through it with a special sword” and the conversation gives them that sword?

Thanks for the reply!

Yes, I’ve done similar things in my module before, by making a scipt that makes it impossible to jump to the desired area if certain conditions aren’t met. So that’s what I’m going to do if this is not possible. I just thought it would be cool if the area transition trigger weren’t there at all, or weren’t visible, if the PC are not to go to the new area yet.

Spawning a trigger I’m not sure of, but if the area where the trigger will be is small enough, you can create a copy that has the transition, and on when conditions are right send the PC to the area with the transition instead of the one without it. It’ll seem as if the area got a new transition.

-JFK

I don t think it 's possible beceause you need to draw the trigger.

What you can do is make an object usable/unusable with scripting, which would trigger your area transition process when used.

Or you can use conditions on your area transition script to block the transition until those condition are meet.

1 Like

No you can’t do that. Just have a variable set on the PC, or 1 set on an item depending if you want the variable to persist. You could a secret door revealed to take the person to a new location.

You could try assigning the map transition effect to an invisible placeable such as one of the collision balls (turn off collision on it so the oc can enter It’s space). Then give the collision ball a heartbeat or other script to detect if a pc is writhing a specified trigger (not an area transition trigger, just a generic trigger with a tag that can be checked) that happens to be in the same spot as the collision ball. If the pc is in the generic trigger, transition them.

Alternately, you can spawn the transition vfx at the desired spot if you can’t apply it to the invisible object. Or use a heartbeat on another object in the area to check if the player is in the trigger location.

Thanks for all the replies!

I’m trying to get the transition vfx to spawn at the invisible object in a script, using Collision Box as the invisible object, but I can’t for the life of me find the transition vfx among Globals in the Script assist…I mean in the properties of the object I have no trouble finding the fx_map_transition as it is called but…what is it called when you’re to script it?

I’m back to trying to achieve something like this in module I’m working on now. I know it’s not possible, but…Could one perhaps change the name on the area trigger by SetFirstName or something of the like?

I would so much like there to be an invisible area transition in an area, until you know you as a player want to go there. I don’t want the player to know beforehand that he will be going to that area before it’s time. I’m trying to come up with something that…that will work like this. Ugh, I don’t know…
It’s in an outdoor area.

Edit: Maybe you could draw the area transition trigger very small and then resize it through scripting? Just brain storming at the moment.

Edit 2: Or maybe it would be possible to have a placeable with the appearance of an area transition?

You can use an object where you can set on/off with a script the useable property. Something like the shadow portals in Mulsantir.

Since there was a new post here, I thought to look into this thing again. I actually found a quite nice solution to this now after all these years. It’s not perfect but pretty neat anyway. Thanks to @kevL_s excellent Special Effects Viewer I managed to go by @kamal 's suggestion of using the transtion vfx. I found the name of the vfx by the Special Effects Viewer, then I made a custom creature, I happened to use a Will-o-wisp, and gave it the Appearance(Visual Effect):fx_map_transition. Then I spawned in this creature through a script. Then I made a simple script like this that I put on OnConversation of the creature:

void main()
{

object oPC = GetFirstPC();

JumpPartyToArea(oPC, GetWaypointByTag("jumpywp"));

}

Now when you click on the creature and the talk icon appears you instantly teleport to the new waypoint. It’s not perfect, and the vfx is not animated like on the origingal Area Transition Trigger, but well…it’s something. :grinning:

1 Like

lol :)

I’d be doing something along the lines of what Shallina said but creating a useable object ( like a sign post or road marker ) with a conversation on it that would jump you if you wanted.

Whilst talking to the landlord and asking the way to wherever he tells you to go and read the sign post at the end of the road that the local builder andgalf just finished installing.

1 Like

Yes, that’s one way of doing it, I suppose. If it’s in a town, village or in a forest, that may be the best alternative. However, if you’re in some obscure plane/realm I might go with my own alternative.

I just came back to this again after 2 years. Didn’t remember I had actually found a solution for this. Don’t remember that I even used it the way I described here, lol. I’ve quite a few modules by now so my memory gets cloudy regarding all the details.

Before I had apparently used a creature like a Will-o-wisp, but that seemed a bit odd to me now…So, now, reading again Kamal’s suggestion more carefully, I found that if you just copy the placeable Collision Box (which is invisible) and make a new blueprint out of that with the Appearance(Visual Effect) you ought to be able to spawn that in at a waypoint. Seems so simple to me now. Why didn’t I try that before? Then when clicking on the invisible box, you have the script with the function JumpPartyToArea.

Tested it. It works like a charm. Looks almost exactly like a real area transition.

1 Like

@andgalf

All you need to do is place a trigger as normal and add a variable like “DEACTIVATED” set to 1, so that you can check this in its OnEnter script to NOT fire. Then, when you want it to fire, simply remove that check variable and let the script fire as normal.

The only caveat doing it this way, is you need to use normal triggers and script the jump onEnter yourself, but it gives you much more control. E.g. You can even start a conversation prior the jump.

@Lance_Botelle

I don’t quite understand what you’re getting at now. In my case, I don’t want there to be a trigger at all at first. I don’t want the PC to know there’s an area tranistion here. If I place a normal trigger, sure it is invisible, but then at some point I want it to be visible, and I want it to show it as an area transition. Don’t know how that would be possible through a normal trigger. I found my own way of doing this to be the perfect solution to this really. Maybe you can’t go through this new “trigger” but if you click on it, it will move the PC to the designated waypoint.

@andgalf

OK, I see what you were after now - that makes sense. :+1:

don’t use a trigger, use a placeable, make it unusable and usable depending on your need.

2 Likes

Use a person that will give directions and jump them. They can even be there all the time and just tell the party to “go away I’m busy !” when conditions aren’t met.