i finished! woooooooooooooooooooooooooooooo!

// Welcome to the most pain in the ass function ever!
// woooooooooooooooooooooooooooooooooo
// sankey86@gmail.com
function TeleportGun()
{
var theTarget;

vec_set(theTarget.x, vector(10000, 0, 0)); //shoots 10000 quants
vec_rotate(theTarget.x, camera.pan); //shoots in the direction of the player
c_trace(my.x, theTarget.x, ignore_me + scan_texture | ignore_passable | use_aabb ); // aabb works great here

if(str_cmpi(tex_name, "SQUARE.MDL") == 1) // if the entity hit is square.mdl
{
var tempX;
var tempY;
var tempZ;

tempX = your.x;
tempY = your.y;
tempZ = your.z;

ent_create("square.mdl", my.x, null); // Create entity at player old position

my.x = tempX; //
my.y = tempY; // Move player to old entity position
my.z = tempZ; //

if (your) // if the entity hit still exists...poof
{
ent_remove(your);
}

}
}


anyone can use that if they want, works like a charm!