1. Eso se hace con ASM, eing hizo esto mismo en Ruby, pero aún no ha liberado el código de la rutina.
2. Si, en el subforo de investigaciones hay un tutorial de como hacerlo
3.Probablemente sea porque pones el número de warp que no existe en el mapa, fijate bien en el número de warp que asignas.