wanted abtauchen blinken

This commit is contained in:
hydrant
2021-04-11 21:53:08 +02:00
parent f258896e56
commit 523e193317
3 changed files with 101 additions and 54 deletions

View File

@@ -4,4 +4,8 @@
mp.events.add("SERVER:SetWanteds", (count: number) => { mp.events.add("SERVER:SetWanteds", (count: number) => {
browser.execute(`setWanteds(${count});`); browser.execute(`setWanteds(${count});`);
}); });
mp.events.add("SERVER:SetWantedFlash", (flash) => {
browser.execute(`setFlashing(${flash});`);
});
} }

View File

@@ -1,60 +1,99 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport"> <meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Wanteds</title> <title>Wanteds</title>
<style>
@font-face { font-family: 'Pricedown'; src: url('package://assets/font/Pricedown.ttf'); }
html, body { margin: 0; padding: 0; }
#wanteds { <style>
position: absolute; @font-face {
display: flex; font-family: 'Pricedown';
justify-content: flex-end; src: url('package://assets/font/Pricedown.ttf');
align-items: center; }
top: 65px;
right: 22px;
user-select: none;
}
#wanteds img { html, body {
width: 25px; margin: 0;
height: 25px; padding: 0;
margin-right: 5px; }
filter: drop-shadow(0px 0px 1px #000000); #wanteds {
-webkit-filter: drop-shadow(0px 0px 1px #000000); position: absolute;
-moz-filter: drop-shadow(0px 0px 1px #000000); display: flex;
} justify-content: flex-end;
align-items: center;
top: 65px;
right: 22px;
user-select: none;
}
#wanteds span { #wanteds img {
color: white; width: 25px;
font-family: "Pricedown", sans-serif; height: 25px;
font-size: 2.5em; margin-right: 5px;
line-height: 1; filter: drop-shadow(0px 0px 1px #000000);
-webkit-text-stroke: 1px black; -webkit-filter: drop-shadow(0px 0px 1px #000000);
margin-top: -5px; -moz-filter: drop-shadow(0px 0px 1px #000000);
} }
</style>
#wanteds span {
color: white;
font-family: "Pricedown", sans-serif;
font-size: 2.5em;
line-height: 1;
-webkit-text-stroke: 1px black;
margin-top: -5px;
}
</style>
</head> </head>
<body> <body>
<div id="wanteds" style="display: none;"> <div id="wanteds" style="display: none;">
<img src="package://assets/img/wanteds/star.svg"> <span id="wanted-count">10</span> <img src="package://assets/img/wanteds/star.svg" id="wanted-star"> <span id="wanted-count">10</span>
</div> </div>
<script src="package://assets/js/jquery-3.3.1.min.js"></script> <script src="package://assets/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript"> <script type="text/javascript">
function setWanteds(count) { function setWanteds(count) {
if (count === 0) { if (count === 0) {
$("#wanteds").hide(); $("#wanteds").hide();
} else { } else {
$("#wanteds").show(); $("#wanteds").show();
$("#wanted-count").text(count.toString()); $("#wanted-count").text(count.toString());
} }
} }
</script>
var flashInterval = null;
var previousFlashToggle = false;
var firstToggle = true;
function setFlashing(flash) {
if (previousFlashToggle == flash && !firstToggle) {
return;
}
firstToggle = false;
previousFlashToggle = flash;
if (flash) {
if (flashInterval) {
clearInterval(flashInterval);
}
flashInterval = setInterval(flashWantedImage, 750);
} else {
clearInterval(flashInterval);
$("#wanted-star").css('visibility', 'visible');
}
}
var flashStatus = false;
function flashWantedImage() {
flashStatus = !flashStatus;
if (flashStatus) {
$("#wanted-star").css('visibility', 'visible');
} else {
$("#wanted-star").css('visibility', 'hidden');
}
}
</script>
</body> </body>
</html> </html>

View File

@@ -27,12 +27,8 @@ namespace ReallifeGamemode.Server.Wanted
} }
*/ */
public static void ResetWantedTimeToElapse(Player client) public static void ResetWantedTimeToElapse(User user)
{ {
User user = client.GetUser();
if (user.FactionId == 1 || user.FactionId == 3)
return;
waTimer[user.Id] = WantedEscapeTime; waTimer[user.Id] = WantedEscapeTime;
} }
@@ -45,7 +41,7 @@ namespace ReallifeGamemode.Server.Wanted
if (user != null && user.Wanteds > 0) if (user != null && user.Wanteds > 0)
{ {
if (!waTimer.ContainsKey(user.Id)) if (!waTimer.ContainsKey(user.Id))
ResetWantedTimeToElapse(player); ResetWantedTimeToElapse(user);
bool isNearCop = false; bool isNearCop = false;
foreach (var playerCop in NAPI.Pools.GetAllPlayers()) foreach (var playerCop in NAPI.Pools.GetAllPlayers())
@@ -70,7 +66,7 @@ namespace ReallifeGamemode.Server.Wanted
if (waTimer[user.Id] <= 0) if (waTimer[user.Id] <= 0)
{ {
ResetWantedTimeToElapse(player); ResetWantedTimeToElapse(user);
player.SendChatMessage("~y~Du hast erfolgreich einen Wanted abgetaucht."); player.SendChatMessage("~y~Du hast erfolgreich einen Wanted abgetaucht.");
user.Wanteds -= 1; user.Wanteds -= 1;
if (user.Wanteds == 0) if (user.Wanteds == 0)
@@ -82,7 +78,15 @@ namespace ReallifeGamemode.Server.Wanted
waTimer[user.Id] = WantedEscapeTime; waTimer[user.Id] = WantedEscapeTime;
} }
else if (!isNearCop) else if (!isNearCop)
{
player.TriggerEvent("SERVER:SetWantedFlash", true);
waTimer[user.Id] -= 2500; waTimer[user.Id] -= 2500;
}
else if (isNearCop)
{
player.TriggerEvent("SERVER:SetWantedFlash", false);
ResetWantedTimeToElapse(user);
}
} }
} }
} }