ID:142559
 
Code:
mob/verb/Skilltree()
if(usr.inskilltree==1)
// help here
usr.loc=locate(52,98,2)
usr.inskilltree=1


Problem description:

heres the issue, i dont know how to make it so that if ur already in the skill tree then you can click the skilltree verb again and u will be TELEPORTED back to where u were when u clicked it, the part i dont understand is how do i make the system know that i want them to teleport them back to where the person clicked it.
To solve your issue, you would have to store the location before the player was transported to the skill tree portion of the map. This means you'll have to temporarily store either the turf, or the location coordinates of when you originally used the teleporting verb. I suggest using coordinates, since there is a possibility that if you stored the turf, it could be deleted.

mob/var
teleported = 0
old_x = 0
old_y = 0
old_z = 0

mob/verb/teleport()
if(src.teleported)
// move the player back to his/her old location
src.loc = locate(old_x, old_y, old_z)
src.old_x = 0
src.old_y = 0
src.old_z = 0

src.teleported = 1
else
// store the player's current location, then warp him/her to the new location
src.old_x = src.x
src.old_y = src.y
src.old_z = src.z
src.loc = locate(52,98,2)

src.teleported = 0


However, this isn't such a great way to create a "skill tree" system. If you insist on having the graphical portion drawn on the map, then it would be much easier to just locate the client.eye to the portion of the map. This way, the player won't need to teleport, and will be able to see the graphics you want to display. Look up client.eye and client.perspective for more information about how to do that.