The crane taxi in mulong doesnt let you go to orbis but it can take you to herb town. The Elivator from korean folk town to ludi doesnt work, you cant enter it.
Hak takes the money but does not let you go to orbis yet. On my way to ludi to check the elevator. Also, I think once you do pay for Hak to take you to orbis it binds it up making no one able to lose their money to Hak.
Here is proof that Helios Tower elevator works in both directions (as seen by arrows in elevator), however someone is always using the crane to Orbis from Mu Lung and when attempting to take the crane to Mu Lung from Orbis something interesting happens (last link below) Helios 1 http://img827.imageshack.us/img827/8168/maple0005qh.jpg Helios 2 http://img13.imageshack.us/img13/5914/maple0006yw.jpg Crane 1 http://img703.imageshack.us/img703/1461/maple0007fc.jpg Crane 2 Disaster http://img15.imageshack.us/img15/5711/maple0008dx.jpg Note: this did not just occur once, it occurs every time.
Sorry to revive this thread, but I think from the outside the door is suppose to be "closed" when the elevator is unavailable and when it is available you are suppose to see what is shown in the image below. That is how I remember it from GMS, but I may be wrong. Just wanted to bring this up since I hear people complaining about this elevator and thinking that it does not work. If I am right, then I think this may shift the opinion.
I've rewritten the script for Hak so that it just warps you and does not attempt to put you on a 'boat'. So Hak is now working to and from Orbis/Mu Lung. Code: /*File rescripted to bypass event 'Hak.js' Script created by Matthew Prince of MapleRoyals.com ([email protected]) */ importPackage(net.sf.odinms.client); var menu = new Array("Mu Lung","Orbis","Herb Town","Mu Lung"); var cost = new Array(6000,6000,1500,1500); var hak; var display = ""; var btwmsg; var method; function start() { status = -1; hak = cm.getEventManager("Hak"); action(1, 0, 0); } function action(mode, type, selection) { if(mode == -1) { cm.dispose(); return; } else { if(mode == 0 && status == 0) { cm.dispose(); return; } else if(mode == 0) { cm.sendNext("OK. If you ever change your mind, please let me know."); cm.dispose(); return; } status++; if (status == 0) { for(var i=0; i < menu.length; i++) { if(cm.getChar().getMapId() == 200000141 && i < 1) { display += "\r\n#L"+i+"##b"+menu[i]+"("+cost[i]+" mesos)#k"; } else if(cm.getChar().getMapId() == 250000100 && i > 0 && i < 3) { display += "\r\n#L"+i+"##b"+menu[i]+"("+cost[i]+" mesos)#k"; } } if(cm.getChar().getMapId() == 200000141 || cm.getChar().getMapId() == 251000000) { btwmsg = "#bOrbis#k to #bMu Lung#k"; } else if(cm.getChar().getMapId() == 250000100) { btwmsg = "#bMu Lung#k to #bOrbis#k"; } if(cm.getChar().getMapId() == 200000141 && hak.getProperty("isRiding").equals("false")) { cm.warp(200000141); cm.dispose(); } if(cm.getChar().getMapId() == 251000000) { cm.sendYesNo("Hello there? I'm the crane that flies from "+btwmsg+" and back. I fly around all the time, so I figured, why not make some money by taking travelers like you along for a small fee? It's good business for me. Anyway, what do you think? Do you want to fly to #b"+menu[3]+"#k right now? I only charge #b"+cost[3]+" mesos#k."); } else { cm.sendSimple("Hello there? I'm the crane that flies from "+btwmsg+" and back. I fly around all the time, so I figured, why not make some money by taking travelers like you along for a small fee? It's good business for me. Anyway, what do you think?\r\n"+display); } } else if(status == 1) { if(selection == 2) { cm.sendYesNo("Will you move to #b"+menu[2]+"#k now? If you have #b"+cost[2]+" mesos#k, I'll take you there right now."); } else { if(cm.getMeso() < cost[selection]) { cm.sendNext("Are you sure you have enough mesos?"); cm.dispose(); } else { if(cm.getChar().getMapId() == 251000000) { cm.gainMeso(-cost[3]); cm.warp(250000100); cm.dispose(); } else { if(cm.getChar().getMapId() == 200000141) { cm.gainMeso(-cost[selection]); hak.newInstance("Hak"); hak.setProperty("myRide",selection); hak.getInstance("Hak").registerPlayer(cm.getChar()); cm.warp(250000100); cm.dispose(); } else { cm.warp(200000141); cm.dispose(); } } } } } else if(status == 2) { if(cm.getMeso() < cost[2]) { cm.sendNext("Are you sure you have enough mesos?"); cm.dispose(); } else { cm.gainMeso(-cost[2]); cm.warp(251000000); cm.dispose(); } } } }