Sure. Though be aware, the code is properly structured in Sublime Text 2, but when I pasted in this damn forum, it goes [censored] all.
Scriptname zSpellTomeTeleport extends activemagiceffect{Teleport to a city of your choice and then back to where you were};PropertiesObjectReference property WhiterunBreezehome autoObjectReference property WhiterunMarketplace autoObjectReference property WhiterunJorrvaskr autoObjectReference property WhiterunSkyforge autoObjectReference property WhiterunDragonsreach autoObjectReference property SolitudeMainGate autoObjectReference property SolitudeCourtyard autoObjectReference property SolitudeProudspire autoObjectReference property SolitdueBluePalace autoObjectReference property DawnstarWindspeakInn autoObjectReference property TeleTarget auto ;The XMarkerHeading that gets recalled to players locationMessage property QuestionMSGR auto ;Points to RecallMessage property QuestionMSGM auto ;Points to Mainbox, containing all the cities the player is able to choose fromMessage property QuestionMSGWR auto ;Points to Whiterun locations question boxMessage property QuestionMSGS auto ;Points to Solitude locations question boxMessage property QuestionMSGD auto ;Points to Dawnstar locations question boxQuest property HousePurchase autoGlobalVariable property SpellSwitch auto;FunctionsFunction MessageBox(string asMessageBoxText) native global ;Function to show debug message box in gameFunction Notification(string asNotificationText) native global ;Function to debug the script in gameFunction Teleport(actor source, ObjectReference destination) TeleTarget.MoveTo(source)Utility.Wait(0.2)casterRef.MoveTo(destination)SpellSwitch.SetValueInt(1)endfunctionActor casterObjectReference casterRef int Recall ;The return question box(offered when the spell has already been used once before.)int Mainbox ;The main question box, containing all the cities to choose fromint Whiterun ;The Whiterun locations question boxint Solitude ;The Solitude locations question boxint Dawnstar ;The Dawnstar locations question boxint mySpellSwitchEvent OnEffectStart(Actor akTarget, Actor akCaster) caster = akCaster casterRef = (caster as ObjectReference)mySpellSwitch = SpellSwitch.GetValueInt() if mySpellSwitch == 1 Utility.Wait(0.3) ;Waits 0.3 seconds SpellSwitch.SetValueInt(0) Recall = QuestionMSGR.Show() if Recall == 0 casterRef.MoveTo(TeleTarget) elseif Recall == 1 QuestionMSGM.Show() endif else Utility.Wait(0.5) Mainbox = QuestionMSGM.Show() ;Shows the main location box with the cities if Mainbox == 0 Whiterun = QuestionMSGWR.Show() ;Shows Whiterun locations question box Utility.Wait(0.2) if Whiterun == 0 GetVMQuestVariable HousePurchase, :SolitudeHouseVar_var == 1.00 Teleport(caster, WhiterunBreezehome) elseif Whiterun == 1 Teleport(caster, WhiterunMarketplace) elseif Whiterun == 2 Teleport(caster, WhiterunJorrvaskr) elseif Whiterun == 3 Teleport(caster, WhiterunSkyforge) elseif Whiterun == 4 Teleport(caster, WhiterunDragonsreach) endif endif if Mainbox == 1 Solitude = QuestionMSGS.Show() ;Shows Solitude locations question box Utility.Wait(0.2) if Solitude == 0 Teleport(caster, SolitudeMainGate) elseif Solitude == 1 Teleport(caster, SolitudeCourtyard) elseif Solitude == 2 Teleport(caster, SolitudeProudspire) elseif Solitude == 3 Teleport(caster, SolitdueBluePalace) endif endif if Mainbox == 2 Dawnstar = QuestionMSGD.Show() ;Shows Dawnstar locastions question box Utility.Wait(0.2) if Dawnstar == 0 Teleport(caster, DawnstarWindspeakInn) endif endifendifEndEvent