Files
sweetgum-server/scripts/event/Trains.js
ronancpl f6935d3d3b Rearranged travel packets
An approach on infinite loopings on "Before Takeoff" maps.
2017-04-06 19:26:48 -03:00

67 lines
2.1 KiB
JavaScript

importPackage(Packages.tools);
var Orbis_btf;
var Train_to_Orbis;
var Orbis_docked;
var Ludibrium_btf;
var Train_to_Ludibrium;
var Ludibrium_docked;
var Orbis_Station;
var Ludibrium_Station;
//Time Setting is in millisecond
var closeTime = 50 * 1000; //The time to close the gate
var beginTime = 60 * 1000; //The time to begin the ride
var rideTime = 60 * 1000; //The time that require move to destination
function init() {
Orbis_btf = em.getChannelServer().getMapFactory().getMap(200000122);
Ludibrium_btf = em.getChannelServer().getMapFactory().getMap(220000111);
Train_to_Orbis = em.getChannelServer().getMapFactory().getMap(200090110);
Train_to_Ludibrium = em.getChannelServer().getMapFactory().getMap(200090100);
Orbis_docked = em.getChannelServer().getMapFactory().getMap(200000121);
Ludibrium_docked = em.getChannelServer().getMapFactory().getMap(220000110);
Orbis_Station = em.getChannelServer().getMapFactory().getMap(200000100);
Ludibrium_Station = em.getChannelServer().getMapFactory().getMap(220000100);
scheduleNew();
}
function scheduleNew() {
em.setProperty("docked", "true");
Orbis_docked.setDocked(true);
Ludibrium_docked.setDocked(true);
em.setProperty("entry", "true");
em.schedule("stopEntry", closeTime); //The time to close the gate
em.schedule("takeoff", beginTime); //The time to begin the ride
}
function stopEntry() {
em.setProperty("entry","false");
}
function takeoff() {
Orbis_btf.warpEveryone(Train_to_Ludibrium.getId());
Ludibrium_btf.warpEveryone(Train_to_Orbis.getId());
Orbis_docked.broadcastShip(false);
Ludibrium_docked.broadcastShip(false);
em.setProperty("docked","false");
Orbis_docked.setDocked(false);
Ludibrium_docked.setDocked(false);
em.schedule("arrived", rideTime); //The time that require move to destination
}
function arrived() {
Train_to_Orbis.warpEveryone(Orbis_Station.getId());
Train_to_Ludibrium.warpEveryone(Ludibrium_Station.getId());
Orbis_docked.broadcastShip(true);
Ludibrium_docked.broadcastShip(true);
scheduleNew();
}
function cancelSchedule() {
}