Ah... I had missed that part for some reason. In that case ya, it's very simple to do. Here's something I pulled together... it was quick and I'm not sure if it'll work, but it should give you an idea of what to do... It's not a copy and paste thing, you need to figure it out yourself, or get a scripter to do it:
PHP Code:
function onActionserverside(action,level,newx,newy) {
if (action=="warp") {
setlevel2(level,newx,newy);
}
}
//#CLIENTSIDE
function onPlayerenters() {
if (player.gmap!=null) this.lastgmap=player.gmap;
}
function onCreated() {
/*
Defining the unstick me points:
I recommend the unstick me's all on inside levels
or all on the gmap... warping a player
to a nw that's on a gmap=breakage.
this is tailored to interior levels, not on a gmap
*/
this.unstickpoints={
{map1.gmap,levelinmap1.nw,warpx,warpy},
{map2.gmap,levelinmap2.nw,warpx,warpy},
{map3.gmap,levelinmap3.nw,warpx,warpy},
{map4.gmap,levelinmap4.nw,warpx,warpy}
}
}
function onPlayerchats() {
if (player.chat=="unstick me") {
player.chat="";
for (i=0;i<this.unstickpoints.size();i++) {
if (this.lastgmap==this.unstickpoints[i][0]) {
triggerserver("gui",name,"warp",this.unstickpoints[i][1],this.unstickpoints[i][2],this.unstickpoints[i][3]);
break;
}
}
}
}