RSS

Methods to built a checkpoint mutator in unreal (Theory and ideas)

15 Feb

http://www.oldunreal.com/cgi-bin/yabb2/YaBB.pl?num=1326945030/5#5

im bored and have ideas so here goes i will go into detail about ways I did this

You have a map and it big and hard and you want a checkpoint system in it huh mabye you made a deathhouse map its it tooo hard for your players? huh a trials map oh boy. of you want to have a real messed up dgame of  ctf !

fully compatible methods:

for these methods you will need a custom  actor class to act as a spawnpoint or  locationdata storage , *Actally you dont , if you clever you can save all this data in a single vertex array, but then we need to add a mutaor or some kinda non volitale  actor to store it since players may some and go and lost invetory. in my case I used a fake actor that stores the player id and name of player , and told it to spawn where the player saved the checkpoint at , so i could just get actor.location. this also prevents the mod for saving a location witch it impossible to spawn in.

pickup hooking

The easiest way to hook onto  the player respawning in any game type is to use a fake pickup, one that listens for PickupFunction when the user ‘picks up’ the pickup from there defualt starting inventory or if it is spawned at a playerstart. In many cases this is the best you can get since many of the gamtypes in use  are closed source. the issue with this is that if weapon keeping is on this can break and you need to add a second ‘oneshot’ pickup that self destroys after it moves the player.

now that i have covered that  you need to decide what ammount of player interaction  you expect from the player ask the questions like ,

Does I want the player to save or be or able to spawn there own checkpoint or should it be fuly automatic.

It easy to add a replicated command at this pont or have some weird pickup activea code that lets the user “activate” the pickup to spawn a checkpiont . like ktacticalequippment.krespaer doses since we are already a pickup so adding a ‘savespot’ command it trival , but will the player know what he has to do?

assuming no , we can automat add the checkppointng. usally with a timer or tick. in another pickup or a mutator. but now what twhat if the player is in lava when he dies?

well then we need to add a crap ton of checks  for water . lava . killzone . falling , cheatflying,ghosting , taking damge  etc.

Armor / Pickup hooking

This method isnt acually properly combatible, as to make it work properly you would need source code access. but it usable

you knwo that relic or redemtion in ut and u1 , that respawn you somwher new without actully dying? we can use this as another idea , but to make that not retarted you need to have acces to soucrecode so you can call scorre =– ; and restartplayer();

ut you acan hook the death and sent the user backto a saved location this way to.

mutator  methods

If your gametype supports mutatorplus or another api , you have a few more options like using mutaterespawn player , But I never had any luck acually making that call properly (It appears broken in xcoop).

by the way trails game has muator plus..

severside options:

you can create a automatic checkpoint mutator fully serverside if your clever,

using triggers and some conplex touch code  you can setup a fake teleporter trigger near the start of the map , and a number of triggers along the way , and have the fake teleporter instance thru the special triggers in the map and if they are active teleport the player to them.

the actors can all be spawned into the maps serverside and will be invisible to the clients ,you can add flags of whatever is severside as a marker.

off the shelf solutions

krespawn    //a pickup that let user spawn a respan place via pickup , this uses pickup hooking

ssspawnv2 // automatic serious same style respawn sysytem , used pickup hookiong or commands

This post is indirecty targeted at snakebite  ( if thast wasnt already realized)

Advertisements
 
Leave a comment

Posted by on February 15, 2012 in Uncategorized

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s