Ok so, I'm a scripting noob, but looking at the script I think I found out what's wrong. Basically, as you start to cast the spell you reach the part TeleTarget.MoveTo(caster) It moves the Xmarker referenced by TeleTarget in properties to where you are right. So, then the Button = QuestionMSG pops the message up and you hit Home, which teleports you to Breezehome. So all is good. BUT, when you start to cast the spell AGAIN the script will re-execute, thus hitting the TeleTarget.MoveTo(caster) AGAIN, and thus moving the marker right under your feet, so when you hit Return, it would do exactly what it does to me. Teleport me to where I stand. Here's the script.
Scriptname zTeleportBothWays extends activemagiceffect{Teleport Home Spell Script}ObjectReference property HomeTarget autoObjectReference property TeleTarget autoMessage Property QuestionMSG AutoActor casterObjectReference casterRefint ButtonEvent OnEffectStart(Actor akTarget, Actor akCaster)caster = akCastercasterRef = (caster as ObjectReference)TeleTarget.MoveTo(caster)Utility.Wait(2.0)Button = QuestionMSG.Show()Utility.Wait(0.5)if Button == 0 casterRef.MoveTo(HomeTarget)elseif Button == 1 casterRef.MoveTo(TeleTarget)endifendEVENT