73 lines
2.5 KiB
TypeScript
73 lines
2.5 KiB
TypeScript
/**
|
|
* @overview Life of German Reallife - Login Main main.js
|
|
* @author VegaZ, hydrant
|
|
* @copyright (c) 2008 - 2018 Life of German
|
|
*/
|
|
|
|
export default function (globalData: IGlobalData): void {
|
|
var loginBrowser: BrowserMp;
|
|
var loginCam: CameraMp = mp.cameras.new('login', new mp.Vector3(-1883.736, -781.4911, 78.27616), new mp.Vector3(3.185999, 0, -79.59519), 40);
|
|
|
|
var localPlayer: PlayerMp = mp.players.local;
|
|
|
|
mp.events.add('SERVER:Login_ShowBrowser', (registered) => {
|
|
mp.gui.cursor.show(true, true);
|
|
mp.gui.chat.show(false);
|
|
mp.game.ui.displayHud(false);
|
|
mp.game.ui.displayRadar(false);
|
|
|
|
var url = registered ? "package://assets/html/login/login.html" : "package://assets/html/login/register.html";
|
|
loginBrowser = mp.browsers.new(url);
|
|
|
|
loginCam.setActive(true);
|
|
mp.game.cam.renderScriptCams(true, false, 0, true, false);
|
|
});
|
|
|
|
mp.events.add('SERVER:Login_Error', (error: string) => {
|
|
if (loginBrowser) {
|
|
loginBrowser.execute(`showError("${error}");`);
|
|
}
|
|
});
|
|
|
|
mp.events.add('CEF:Login_RequestPlayerName', () => {
|
|
if (loginBrowser) {
|
|
// 5:30 - 21:00
|
|
var time = mp.game.time.getLocalTime(0, 0, 0, 0, 0, 0);
|
|
var date: Date = new Date(time.year, time.month, time.day, time.hour, time.minute, time.second);
|
|
var from: Date = new Date(time.year, time.month, time.day, 5, 30, 0);
|
|
var to: Date = new Date(time.year, time.month, time.day, 21, 0, 0);
|
|
|
|
mp.gui.chat.push(JSON.stringify(time));
|
|
|
|
if (!(date > from && date < to)) { // in Zeitspanne um Light-Modus auszumachen
|
|
loginBrowser.execute("disableLightMode();");
|
|
}
|
|
|
|
loginBrowser.execute(`setPlayerName("${localPlayer.name}");`);
|
|
}
|
|
});
|
|
|
|
mp.events.add('CEF:Login_LoginRequest', (password: string) => {
|
|
mp.events.callRemote('CLIENT:Login_LoginRequest', password);
|
|
});
|
|
|
|
mp.events.add('CEF:Login_RegisterRequest', (password: string) => {
|
|
mp.events.callRemote('CLIENT:Login_RegisterRequest', password);
|
|
});
|
|
|
|
mp.events.add('SERVER:Login_Success', () => {
|
|
if (loginBrowser) {
|
|
loginBrowser.destroy();
|
|
}
|
|
|
|
mp.gui.cursor.show(false, false);
|
|
mp.gui.chat.show(true);
|
|
mp.game.ui.displayHud(true);
|
|
mp.game.ui.displayRadar(true);
|
|
|
|
globalData.LoggedIn = true;
|
|
|
|
loginCam.setActive(false);
|
|
mp.game.cam.renderScriptCams(false, false, 0, true, false);
|
|
});
|
|
} |