Custom Instances = Generally just instances edited.
To make the teleport you would register it to on spawn check every X seconds for nearby players. If any are found and they are within X distance then teleport. Example:
Code:
function rabbit_teleporter_on_spawn_te(pUnit, Event)
pUnit:RegisterEvent("rabbit_teleporter_on_spawn_te_te", 1000, 0)
end
function rabbit_teleporter_on_spawn_te_te(pUnit, Event)
for a, plr in pairs(pUnit:GetInRangePlayers()) do
if pUnit:GetDistance(plr) < 6 then
plr:Teleport(0, -6850, -1539, 243)
plr:CastSpell(64446)
end
end
end
RegisterUnitEvent(78041, 18, "rabbit_teleporter_on_spawn_te")
If you want to only temporarily change an instance, use phasing.
Go into the instance -> .char phase 2. Phase 2 is a utterly different phase to 1, so you won't see anything from 1 (1 is default). You can change other players this way as well or through a script using :SetPhase(x)