Add DeathScreen

This commit is contained in:
VegaZ
2018-10-21 12:44:34 +02:00
parent 14e5aef46e
commit ee767cedec
4 changed files with 54 additions and 1 deletions

49
Client/Gui/deathscreen.js Normal file
View File

@@ -0,0 +1,49 @@
/**
* @overview Life of German Reallife - Gui Infobox infobox.js
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
var playerName;
var playerId;
var playerMoney;
var isDeath = false;
var deathTime;
var respawnTime;
var deathSeconds;
mp.events.add("startDeathTimer", () => {
if (isDeath === false) {
isDeath = true;
mp.gui.chat.activate(false);
mp.gui.chat.show(false);
deathDate = new Date();
respawnTime = deathDate.getSeconds() + 120;
secondsToAlpha = 120;
}
});
mp.events.add("onPlayerRevived", () => {
isDeath = false;
mp.gui.chat.activate(true);
mp.gui.chat.show(true);
});
mp.events.add("render", () => {
if (isDeath === true) {
currentDate = new Date();
deathSeconds = respawnTime - currentDate.getSeconds();
mp.game.graphics.drawText("~y~" + deathSeconds, [0.5, 0.5],
{
font: 7,
color: [255, 255, 255, 255],
scale: [0.8, 0.8],
outline: true
})
mp.game.graphics.drawRect(0.5, 0.5, 1, 1, 0, 0, 0, deathSeconds);
}
});

View File

@@ -8,7 +8,7 @@
require('./Login/main.js'); require('./Login/main.js');
require('./Save/main.js'); require('./Save/main.js');
require('./Save/save.js'); require('./Save/save.js');
require('./Gui/deathscreen.js');
require('./Gui/infobox.js'); require('./Gui/infobox.js');
require('./Gui/playerlist.js'); require('./Gui/playerlist.js');
require('./Login/main.js'); require('./Login/main.js');

View File

@@ -24,6 +24,7 @@ namespace reallife_gamemode
NAPI.Server.SetCommandErrorMessage("~r~[FEHLER]~s~ Dieser Command existiert nicht."); NAPI.Server.SetCommandErrorMessage("~r~[FEHLER]~s~ Dieser Command existiert nicht.");
NAPI.Server.SetDefaultSpawnLocation(DEFAULT_SPAWN_POSITION, DEFAULT_SPAWN_HEADING); NAPI.Server.SetDefaultSpawnLocation(DEFAULT_SPAWN_POSITION, DEFAULT_SPAWN_HEADING);
NAPI.Server.SetAutoSpawnOnConnect(false); NAPI.Server.SetAutoSpawnOnConnect(false);
NAPI.Server.SetAutoRespawnAfterDeath(false);
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())
{ {

View File

@@ -22,6 +22,9 @@ namespace reallife_gamemode.Server.Events
[ServerEvent(Event.PlayerDeath)] [ServerEvent(Event.PlayerDeath)]
public void OnPlayerDeath(Client player, Client killer, uint reason) public void OnPlayerDeath(Client player, Client killer, uint reason)
{ {
player.TriggerEvent("startDeathTimer");
//TODO: Zum Full Release entfernen //TODO: Zum Full Release entfernen
NAPI.Chat.SendChatMessageToPlayer(player, "Du bist durch " + killer.Name + " gestorben: " + reason.ToString()); NAPI.Chat.SendChatMessageToPlayer(player, "Du bist durch " + killer.Name + " gestorben: " + reason.ToString());