TheGameCreators / GameGuruRepo

The GameGuru Repository For Community Collaboration
http://www.game-guru.com
137 stars 56 forks source link

GGMAX Enhancement - Make Teleport Zones inactive/active at start #5605

Closed mike123yy closed 2 months ago

mike123yy commented 3 months ago

Just a request for a Spawn at start option for the teleport script. I have a narrow corridor door the player will walk down and a stalker enemy will come out from in front. The player will then have to turn around and run away and I need him to teleport to a different area halfway down the hall. Currently you can't do this because there is no spawn at start button. I attempted to add it to the script and I had everything showing up but I can't get it to function properly. It would be helpful to have this though. Thanks

Necrym59 commented 3 months ago

You can already do this - spawn at start makes no sense with a teleporter.

mike123yy commented 3 months ago

spawn at start makes no sense with a teleporter.

Why not? If your player is going down a narrow one-way corridor they would have to step on the teleporter before they reach the end skipping the sequence when the enemy pops out and chases them. I could see in the typical situation it doesn't make sense. In my level the character is going through a dreamlike sequence where when they reach certain points I'm using the teleportation to make them suddenly be in another location. I have a particular location I'm building where the monster walks out and chases you and you have to turn around and run. After you run a certain amount of distance back the way you came I was trying to get the player transported to the next location but it's not possible if they have to walk over the teleporter before they get there. Here's a video showing you how I'm using the teleports.

https://www.youtube.com/watch?v=OsqcafWHNp0

It would also be helpful with other scenarios. If you had some type of sci-fi game or fantasy game were portals opened up that transported you to different locations that you didn't want the player to reach until a certain event happened you would need the spawn at start option. If they were always open the player can skip the objectives he wanted them to do before going through them. Makes sense to me

if you can already do this then how do you pull it off without the spawn at start option?

Necrym59 commented 3 months ago

The Player Start Marker itself can be logoc linked to if used as a local teleport point or you can put another object and logic link to that or and putting an objects name into the IfUsed field in the teleport behavior this should suffice for all needs. There is a Spawn Locator Zone and Spawn Marker system for 'interlevel' teleporting. Multiple uniquly named spawn markers can be used with that system.

mike123yy commented 3 months ago

The Player Start Marker itself can be logoc linked to if used as a local teleport point or you can put another object and logic link to that or and putting an objects name into the IfUsed field in the teleport behavior this should suffice for all needs. There is a Spawn Locator Zone and Spawn Marker system for 'interlevel' teleporting. Multiple uniquly named spawn markers can be used with that system.

I read this a couple times and I'm not sure your understanding/read above what I'm trying to accomplish with the teleport system. I know how the logic link works and that the teleport system will allow you to teleport within the same level. The ifused field doesn't seem to exist anymore and seems to be replaced with the logic link system. I did see that if you use the teleport behavior on an object rather than a trigger zone you do get the checkbox option to make the teleport not show at the start of the level. You can then use a trigger zone to trigger the teleport object which is what I was trying to do. The problem is once you logic link the trigger zone to the teleport object and then the teleport object to the destination zone the teleportation script no longer works.

Untitled-1

I'm assuming it's because it's logic linked to two different objects. If the ifused field was still available I could tell the trigger zone that when it's used to spawn the teleportation zone and then it wouldn't have to be logic linked which wouldn't confuse the teleportation script. If you look at the teleport behavioral section in the picture above there is no if used option. I didn't see it in general options either. But I suppose my problem now would be not getting the teleportation zone hidden until it's triggered but to make it spawn from a trigger zone without having to link it with the logic system since having the two connections seems to confuse the script.

Edit: I found the developer options that allows you to use the if used setting. But it turns out attaching the teleportation script to an object like the mattress above makes it not work. I can only get it to function with a trigger zone. So unless I'm doing something wrong the option to turn off spawn at start would still be needed for what I'm trying to do.

Necrym59 commented 3 months ago

The trigger zone is for a zone, not an object. You cannot link more than one destination its either a logic link or a named object in the IfUsed field (found on the developers panel. Teleport zones are active by default i dont know if they can be started hidden you could try. any object connected needs to be set as a dynamic object.

mike123yy commented 3 months ago

teleport zones are active by default i dont know if they can be started hidden you could try

They can't, that's why I requested a feature for the spawn at start checkbox so I could hide it until it's triggered

Necrym59 commented 3 months ago

Then you may have to find another way to achieve what you wish, i will mark this as a future enhancement for now.

Necrym59 commented 2 months ago

Inactive/active option is now in the teleport behavior update your workshop to get the latest version

mike123yy commented 2 months ago

Works great! Thanks for getting it added so quick.

Necrym59 commented 2 months ago

No problem - i will now close this issue