the marker you just created is in the gate 
 
object = createObject ( 975, 2596.3100585938, -2015.4100341797, 4.539999961853 ) 
marker  = createMarker ( x,y,z - 2, "cylinder", 2, 100, 0, 0, 100 ) 
local x,z,y = getElementPosition( object ) 
  
function gateo ( player ) 
    local skin = getElementModel ( player ) 
    if ( skin == 248 ) then 
        moveObject ( object, 100, 2599, -2015.4100341797, 4.539999961853 ) 
    else 
        outputChatBox ( "sorry, you're not a SoA member, this gate will not open for you.", player, 255, 0, 0 ) 
    end 
end 
addEventHandler ( "onMarkerHit", marker, gateo ) 
  
function getec ( player ) 
    moveObject ( object, 975, 2596.3100585938, -2015.4100341797, 4.539999961853 ) 
end 
addEventHandler ( "onMarkerLeave", marker, getec )