import es import random import psyco psyco.full() def load(): es.regclientcmd('!teletome', 'teletome/ask') es.regsaycmd('!teletome', 'teletome/ask') es.regclientcmd('!accept', 'teletome/accept') es.regsaycmd('!accept', 'teletome/accept') es.regclientcmd('!decline', 'teletome/decline') es.regsaycmd('!decline', 'teletome/decline') es.keygroupcreate('teletomeplayers') def unload(): es.keygroupdelete('teletomeplayers') es.unregclientcmd('!teletome') es.unregsaycmd('!teletome') es.unregclientcmd('!accept') es.unregsaycmd('!accept') es.unregclientcmd('!decline') es.unregsaycmd('!decline') def ask(): askerid = es.getcmduserid() telearg = es.getargv(1) teleid = es.getuserid(telearg) askername = es.getplayername(askerid) telename = es.getplayername(teleid) asker_x,asker_y,asker_z = es.getplayerlocation(askerid) es.keycreate('teletomeplayers', teleid) es.keysetvalue('teletomeplayers', teleid, 'locationx', asker_x) es.keysetvalue('teletomeplayers', teleid, 'locationy', asker_y) es.keysetvalue('teletomeplayers', teleid, 'locationz', asker_z) es.keysetvalue('teletomeplayers', teleid, 'teleporterid', askerid) es.keysetvalue('teletomeplayers', teleid, 'teleportername', askername) es.keysetvalue('teletomeplayers', teleid, 'teleporteraskedname', telename) es.tell(teleid, '#green', askername, 'has asked to teleport you to them! Say !accept or !decline.') es.tell(askerid, '#green', 'You have asked', telename, 'to teleport to you!') def accept(): accepterid = es.getcmduserid() if es.exists('key', 'teletomeplayers', accepterid): acceptaskerid = es.keygetvalue('teletomeplayers', accepterid, 'teleporterid') telelocationx = float(es.keygetvalue('teletomeplayers', accepterid, 'locationx')) telelocationy = float(es.keygetvalue('teletomeplayers', accepterid, 'locationy')) telelocationz = float(es.keygetvalue('teletomeplayers', accepterid, 'locationz')) asker_id = es.keygetvalue('teletomeplayers', accepterid, 'teleporterid') teleported_name = es.keygetvalue('teletomeplayers', accepterid, 'teleporteraskedname') randside = random.randint(1,8) if randside == 1: telelocationx += 25 if randside == 2: telelocationx -= 50 if randside == 3: telelocationy += 25 if randside == 4: telelocationy -= 50 if randside == 5: telelocationy += 25 telelocationx += 25 if randside == 6: telelocationy -= 50 telelocationx -= 50 if randside == 7: telelocationy += 25 telelocationx += 25 if randside == 8: telelocationx -= 50 telelocationy -= 50 es.setpos(accepterid, telelocationx, telelocationy, telelocationz) es.keydelete('teletomeplayers', accepterid) es.tell(acceptaskerid, '#green', teleported_name, 'has accepted your teleport!') else: es.tell(accepterid, '#green', 'You have not been asked to teleport!') def decline(): declineid = es.getcmduserid() if es.exists('key', 'teletomeplayers', declineid): declineaskerid = es.keygetvalue('teletomeplayers', declineid, 'teleporterid') declinetelename = es.keygetvalue('teletomeplayers', declineid, 'teleporteraskedname') es.tell(declineaskerid, '#green', declinetelename, 'has declined your request.') es.keydelete('teletomeplayers', declineid) else: es.tell(declineid, '#green', 'You have not been asked to teleport!')