Elevator with Logprint on your games_mp.log.
Code:
teleporters(enter, exit, angle)
{
self endon("jw");
self iPrintLnBold("Please press ^3[[{+actionslot 2}]] ^7to starting position of Elevator");
self notifyOnPlayerCommand("SL","+actionslot 2");
for(;;)
{
self waittill("SL");
st=self getOrigin();
efx = loadfx("misc/flare_ambient_green");
playFx( efx, enter );
showInMap();
self iPrintLn("Start position saved.");
self iPrintLnBold("Please press ^3[[{+actionslot 2}]] ^7to ending position");
self waittill("SL");
en=self getOrigin();
self iPrintLn("End position saved.");
self iPrintLnBold("Please press ^3[[{+actionslot 2}]] ^7to start build.");
self waittill("SL");
self iPrintLn("started....");
CreateElevator((st),(en),(0,0,0));
self iPrintLn("Done.");
logPrint("\n------------------------------------------------------------\nStart Elevator: " + st + ", Angles: " + self getPlayerAngles() + "\nEnd Elevator: " + en + ", Angles: " + self getPlayerAngles() + "\n------------------------------------------------------------\n");
self notify("jw");
}
}
showInMap()
{
self endon("disconnect");
self endon("death");
curObjID=maps\mp\gametypes\_gameobjects::getNextObjID();
name=precacheShader("compass_waypoint_panic");
objective_add(curObjID,"invisible",(0,0,0));
objective_position(curObjID,self.origin);
objective_state(curObjID,"active");
objective_team(curObjID,self.team);
objective_icon(curObjID,name);
self.objIdFriendly=curObjID;
}
CreateElevator(enter, exit, angle)
{
flag = spawn( "script_model", enter );
flag setModel( level.elevator_model["enter"] );
wait 0.01;
efx = loadfx( "misc/flare_ambient_green" );
playFx( efx, enter );
wait 0.01;
self thread ElevatorThink(enter, exit, angle);
}
ElevatorThink(enter,exit,angle)
{
while(1)
{
foreach(player in level.players)
{
if(Distance(enter,player.origin)<= 50)
{
player SetOrigin(exit);
player SetPlayerAngles(angle);
}
}
wait .25;
}
}