88 lines
2.0 KiB
JavaScript
88 lines
2.0 KiB
JavaScript
var returnTo = [103000100, 103000310];
|
|
var rideTo = [103000310, 103000100];
|
|
var trainRide = [103000301, 103000302];
|
|
var myRide;
|
|
var returnMap;
|
|
var exitMap;
|
|
var map;
|
|
var onRide;
|
|
|
|
//Time Setting is in millisecond
|
|
var rideTime = 10 * 1000;
|
|
|
|
function init() {
|
|
rideTime = em.getTransportationTime(rideTime);
|
|
}
|
|
|
|
function setup(level, lobbyid) {
|
|
var eim = em.newInstance("KerningTrain_" + lobbyid);
|
|
return eim;
|
|
}
|
|
|
|
function afterSetup(eim) {}
|
|
|
|
function playerEntry(eim, player) {
|
|
if (player.getMapId() == returnTo[0]) {
|
|
myRide = 0;
|
|
} else {
|
|
myRide = 1;
|
|
}
|
|
|
|
exitMap = eim.getEm().getChannelServer().getMapFactory().getMap(rideTo[myRide]);
|
|
returnMap = eim.getMapFactory().getMap(returnTo[myRide]);
|
|
onRide = eim.getMapFactory().getMap(trainRide[myRide]);
|
|
player.changeMap(onRide, onRide.getPortal(0));
|
|
|
|
const PacketCreator = Java.type('tools.PacketCreator');
|
|
player.sendPacket(PacketCreator.getClock(rideTime / 1000));
|
|
player.sendPacket(PacketCreator.earnTitleMessage("The next stop is at Kerning " + (myRide == 0 ? "Square" : "Subway") + " Station. The exit is to your left."));
|
|
eim.schedule("timeOut", rideTime);
|
|
}
|
|
|
|
function timeOut(eim) {
|
|
end(eim);
|
|
}
|
|
|
|
function playerUnregistered(eim, player) {}
|
|
|
|
function playerExit(eim, player, success) {
|
|
eim.unregisterPlayer(player);
|
|
player.changeMap(success ? exitMap.getId() : returnMap.getId(), 0);
|
|
}
|
|
|
|
function end(eim) {
|
|
var party = eim.getPlayers();
|
|
for (var i = 0; i < party.size(); i++) {
|
|
playerExit(eim, party.get(i), true);
|
|
}
|
|
eim.dispose();
|
|
}
|
|
|
|
function playerDisconnected(eim, player) {
|
|
playerExit(eim, player, false);
|
|
}
|
|
|
|
function cancelSchedule() {}
|
|
|
|
function dispose(eim) {}
|
|
|
|
|
|
// ---------- FILLER FUNCTIONS ----------
|
|
|
|
function monsterValue(eim, mobid) {return 0;}
|
|
|
|
function disbandParty(eim, player) {}
|
|
|
|
function monsterKilled(mob, eim) {}
|
|
|
|
function scheduledTimeout(eim) {}
|
|
|
|
function changedLeader(eim, leader) {}
|
|
|
|
function leftParty(eim, player) {}
|
|
|
|
function clearPQ(eim) {}
|
|
|
|
function allMonstersDead(eim) {}
|
|
|