add help-command & eddit ahelp

This commit is contained in:
michael.reiswich
2021-01-19 13:20:44 +01:00
parent f18c47c530
commit eb801fce1a
15 changed files with 414 additions and 74 deletions

View File

@@ -0,0 +1,61 @@
/**
* @overview Life of German Reallife - Gui ahelp
* @author MichaPlays
* @copyright (c) 2008 - 2021 Life of German
*/
export default function ahelp(globalData: IGlobalData): void {
var ahelpBrowser: BrowserMp = null;
mp.events.add("showAhelp", () => {
if (ahelpBrowser !== null) {
ahelpBrowser.destroy();
ahelpBrowser = null;
globalData.InInput = false;
mp.gui.cursor.show(false, false);
mp.gui.chat.activate(true);
}
else if (!globalData.InInput) {
globalData.InInput = true;
ahelpBrowser = mp.browsers.new('package://assets/html/helpcommand/ahelp.html');
mp.gui.chat.activate(false);
mp.gui.cursor.show(true, true);
}
});
mp.events.add("removeAhelp", () => {
if (ahelpBrowser == null) {
return;
}
else if (globalData.InInput) {
ahelpBrowser.destroy();
ahelpBrowser = null;
globalData.InInput = false;
mp.gui.cursor.show(false, false);
mp.gui.chat.activate(true);
}
});
mp.events.add("showShelp", () => {
if (ahelpBrowser !== null) {
ahelpBrowser.destroy();
ahelpBrowser = null;
globalData.InInput = false;
mp.gui.cursor.show(false, false);
mp.gui.chat.activate(true);
}
else if (!globalData.InInput) {
globalData.InInput = true;
ahelpBrowser = mp.browsers.new('package://assets/html/helpcommand/shelp.html');
mp.gui.chat.activate(false);
mp.gui.cursor.show(true, true);
}
});
}

View File

@@ -19,7 +19,7 @@ export default function Introduction(globalData: IGlobalData): void {
} }
else if (!globalData.InInput) { else if (!globalData.InInput) {
globalData.InInput = true; globalData.InInput = true;
IntroductionBrowser = mp.browsers.new('package://assets/html/Introduction/Introduciton.html'); IntroductionBrowser = mp.browsers.new('package://assets/html/Introduction/Introduction.html');
mp.gui.chat.activate(false); mp.gui.chat.activate(false);
mp.gui.cursor.show(true, true); mp.gui.cursor.show(true, true);

View File

@@ -0,0 +1,44 @@
/**
* @overview Life of German Reallife - Gui Introduction
* @author MichaPlays
* @copyright (c) 2008 - 2021 Life of German
*/
export default function userhelp(globalData: IGlobalData): void {
var userhelpBrowser: BrowserMp = null;
mp.events.add("showUserhelp", () => {
if (userhelpBrowser !== null) {
userhelpBrowser.destroy();
userhelpBrowser = null;
globalData.InInput = false;
mp.gui.cursor.show(false, false);
mp.gui.chat.activate(true);
}
else if (!globalData.InInput) {
globalData.InInput = true;
userhelpBrowser = mp.browsers.new('package://assets/html/helpcommand/userhelp.html');
mp.gui.chat.activate(false);
mp.gui.cursor.show(true, true);
}
});
mp.events.add("removeUserhelp", () => {
if (userhelpBrowser == null) {
return;
}
else if (globalData.InInput) {
userhelpBrowser.destroy();
userhelpBrowser = null;
globalData.InInput = false;
mp.gui.cursor.show(false, false);
mp.gui.chat.activate(true);
}
});
}

View File

@@ -0,0 +1,116 @@
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
user-select: none;
}
*, *::before, *::after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
body {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
height: 100vh;
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
margin: 0 auto;
padding: 1em .5em;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
font-weight: 400;
color: #FFF;
}
main {
height: auto;
position: relative;
min-width: 50ch;
max-width: 35vw;
padding: 1em;
border-radius: .25em;
font-size: 1em;
line-height: 1.25;
background-color: rgba(0, 0, 0, 0.5);
}
main a#close {
position: absolute;
right: 1em;
top: 1em;
height: 1em;
width: 1em;
opacity: 0.25;
}
main a#close:hover {
opacity: 1;
}
main a#close:before, main a#close:after {
content: ' ';
position: absolute;
left: .5em;
height: 1em;
width: 2px;
background-color: #FFF;
border-radius: 1px;
}
main a#close:before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
main a#close:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
main h1, main p {
margin: 0;
}
main h1 {
font-size: 1.5em;
line-height: 1;
margin-bottom: .125em;
padding-right: 1em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
main p {
margin-bottom: 1em;
line-height: 1.125;
}
main .form {
margin-top: .25em;
}
main .form input {
width: 100%;
padding: .5em;
font-family: "Roboto Mono";
font-weight: 500;
font-size: 1em;
border: none;
border-radius: 5px;
background-color: rgba(0, 0, 0, 0.125);
color: inherit;
}
main .form input:focus {
outline-width: 0;
}

View File

@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Eingabe | Life of German</title>
<link rel="stylesheet" href="package://assets/css/helpcommand/style.css" />
<link rel="stylesheet" href="../../font/font-awesome/css/fontawesome.min.css">
<link rel="stylesheet" href="../../font/font-awesome/css/regular.min.css">
<link rel="stylesheet" href="../../font/roboto-mono/include_500.css">
</head>
<body>
<main>
<div class="input-main">
<h1>Befehle</h1>
</div>
<div id="content" class="form" role="form">
<br />
<br />Admin-Befehle:<br />
/ac - Nachricht an alle Admins<br />
/countdown ZEIT TEXT - Erstellt einen Countdown für alle<br />
/freeze Name|ID - Friert den User einen<br />
/unfreeze Name|ID - Befreit den User<br />
/mark - Speichert derzeitige Position (XYZ)<br />
/gotomark - Teleportiert zu gespeicherter Position<br />
/gotolist - Listet aktive Goto-Punkte auf<br />
/goto - Teleportiert zu einem gespeicherten Ort<br />
/gotox X, Y, Z - Teleportiert dich zu den Koordinaten<br />
/up WERT /dn WERT /lt WERT /rt WERT - Teleportiert dich Hoch, Runter, Links, Rechts<br />
/setdimension Name|ID DIMENSION - Setzt einen Spieler in eine virtuelle Welt<br />
/spec Name|ID - Schaut einem User zu<br />
/warn Name|ID GRUND ANZAHL - Verwarnt den User<br />
/ip Name|ID - Zeigt die IP-Adresse des Users<br />
/kick Name|ID GRUND - Kickt einen User vom Server<br />
/ban Name|ID ZEIT GRUND - Bannt einen User auf Dauer (Zeit 0 = permanent)<br />
/unban Name - Bann eines Users entfernen<br />
/slap Name|ID HÖHE - Wirft spieler nach oben (Standardwert = 5)<br />
/takeweapon Name|ID - Nimmt einem User die Waffen weg<br />
/tov CAR ID - Teleportiert dich zu einem Fahrzeug<br />
/ghv CAR ID - Teleportiert Fahrzeug zu dir<br />
/sethp Name|ID WERT - Setzt Leben (Standardwert = 100)<br />
/setap Name|ID WERT - Setzt Rüstung (Standardwert = 100)<br />
/arevive Name|ID - Belebt einen User wieder<br />
/aunjail Name|ID - Holt einen User aus dem Knast<br />
/aclear Name|ID - Cleart die Wanteds eines User<br />
/adice WERT - Würfelt eine bestimmte ID<br />
/veh FAHRZEUG FARBID1 FARBID2 - Erstellt ein FAHRZEUG<br />
/fv /vfix - Repariert Fahrzeug in dem du sitzt<br />
/vdestroy ID - Löscht ein Fahrzeug vom Server<br />
/vcolor FARBID1 FARBID2 - Ändert die Fahrzeugfarbe<br />
/vehsmoke R G B - Ändert Reifenrauchfarbe<br />
/aneon R G B - Erstellt Neons für Fahrzeug<br />
/vsethp FAHRZEUGID WERT - Setzt Fahrzeugzustand (Standwert = 100)<br />
/factionlist - Zeigt alle Fraktionen auf dem Server<br />
/businesslist - Zeigt alle Business auf dem Server<br />
/joblist - Zeigt alle Jobs auf dem Server<br />
/flip - Dreht das Fahrzeug<br />
/respawnvehicle (ID optional) - Respwant das Fahrzeug neben einem<br />
</div>
<a target="_blank" id="close"></a>
</main>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="package://assets/js/helpcommand/application.js"></script>
</body>
</html>

View File

@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Eingabe | Life of German</title>
<link rel="stylesheet" href="package://assets/css/helpcommand/style.css" />
<link rel="stylesheet" href="../../font/font-awesome/css/fontawesome.min.css">
<link rel="stylesheet" href="../../font/font-awesome/css/regular.min.css">
<link rel="stylesheet" href="../../font/roboto-mono/include_500.css">
</head>
<body>
<main>
<div class="input-main">
<h1>Befehle</h1>
</div>
<div id="content" class="form" role="form">
<br />
/team - Zeigt Teammitglieder an <br />
/tc - Teamchat<br />
/aduty - Versetzt dich in den Support (Tickets erhalten)<br />
/tsupport bzw. /ts - Supportfarbe erhalten (Nur in A-Duty)<br />
/showtickets - Zeigt dir die Tickets an (Nur in A-Duty)<br />
/rc - Im Ticket schreiben<br />
/rc quit - Ticket beenden<br />
/o (#RRGGBB) - Globale Nachricht an alle User<br />
/pm Name|ID - Private Nachricht an einen User<br />
/dimension - Zeigt die eigene Dimension<br />
/to Name|ID - Teleportiert dich zu dem User<br />
/gh Name|ID - Teleportiert den User zu dir<br />
/clearchat - Leert den globalen Chat<br />
/skick Name|ID - Kickt den Spieler leise<br />
/position - Zeigt koordinaten vom Aktuellen Standpunkt an <br />
</div>
<a target="_blank" id="close"></a>
</main>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="package://assets/js/helpcommand/application.js"></script>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Eingabe | Life of German</title>
<link rel="stylesheet" href="package://assets/css/helpcommand/style.css" />
<link rel="stylesheet" href="../../font/font-awesome/css/fontawesome.min.css">
<link rel="stylesheet" href="../../font/font-awesome/css/regular.min.css">
<link rel="stylesheet" href="../../font/roboto-mono/include_500.css">
</head>
<main>
<div class="input-main">
<h1>Befehle</h1>
</div>
<div id="content" class="form" role="form">
Steuerung: <br />
T - Chat öffnen <br />
M - Interaktionsmenü öffnen und schließen <br />
X - Fahrzeug auf-/abschließen sowie im Fahrzeuginteraktionsmenü öffnen <br />
N - Fahrzeugmotor Starten <br />
O - Onlineliste öffnen/schließen <br />
I - Inventar öffnen/schließen <br />
ESC - Menü öffnen zum Anpassen der Einstellungen <br />
ESC -> Karte - Symbole zeigen dir die wichtigsten Orte auf der Karte <br />
<br />Befehle: <br />
/dice - Würfel verwenden <br />
/gc - Gruppenchat verwenden <br />
<br />Fraktionsbefehle: <br />
/f - Fraktionschat <br />
/ga - Gangchat <br />
/r - Radiochat - interner Staatsfraktionschat <br />
/d - Departmentchat - externer Staatsfraktionschat <br />
</div>
<a target="_blank" id="close"></a>
</main>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="package://assets/js/helpcommand/application_userhelp.js"></script>
</body>
</html>

View File

@@ -5,21 +5,3 @@ close.onclick = function closeWindow() {
mp.trigger('removeIntroduction'); mp.trigger('removeIntroduction');
console.log('Fenster geschlossen!'); console.log('Fenster geschlossen!');
} }
/* Enter wird im Input-Feld gedrückt */
input.onkeyup = e => {
let code = e.keyCode ? e.keyCode : e.which;
if (code === 13) {
// TODO: Wert entgegennehmen
closeWindow();
}
}
/* ESC wird gedrückt */
document.onkeyup = e => {
let code = e.keyCode ? e.keyCode : e.which;
if (code === 27) { closeWindow(); }
}
close.onclick = e => { closeWindow(); }

View File

@@ -0,0 +1,7 @@

let close = document.getElementById('close');
close.onclick = function closeWindow() {
mp.trigger('removeAhelp');
console.log('Fenster geschlossen!');
}

View File

@@ -0,0 +1,7 @@

let close = document.getElementById('close');
close.onclick = function closeWindow() {
mp.trigger('removeUserhelp');
console.log('Fenster geschlossen!');
}

View File

@@ -237,6 +237,12 @@ bankMenuHandle(globalData);
import Introduction from './Gui/introduction'; import Introduction from './Gui/introduction';
Introduction(globalData); Introduction(globalData);
import ahelp from './Gui/ahelp';
ahelp(globalData);
import userhelp from './Gui/userhelp';
userhelp(globalData);
require('./Gui/policedepartment'); require('./Gui/policedepartment');
interface VehicleData { interface VehicleData {

View File

@@ -146,47 +146,12 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position"); ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
break; break;
case AdminLevel.ENTWICKLUNG:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
break;
case AdminLevel.SUPPORTER: case AdminLevel.SUPPORTER:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick"); player.TriggerEvent("showShelp");
break; break;
case AdminLevel.ADMIN: case AdminLevel.ADMIN:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick"); player.TriggerEvent("showAhelp");
ChatService.SendMessage(player, "~b~ " + "/ac, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
break;
case AdminLevel.ADMIN2:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
ChatService.SendMessage(player, "~b~ " + "/ac, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
ChatService.SendMessage(player, "~b~ " + "/sethp, /setap, /arevive, /aunjail, /aclear, /clothes, /props");
break;
case AdminLevel.ADMIN3:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
ChatService.SendMessage(player, "~b~ " + "/ac, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
ChatService.SendMessage(player, "~b~ " + "/sethp, /setap, /arevive, /aunjail, /aclear, /clothes, /props");
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetap, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
break;
case AdminLevel.HEADADMIN:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
ChatService.SendMessage(player, "~b~ " + "/ac, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
ChatService.SendMessage(player, "~b~ " + "/sethp, /setap, /arevive, /aunjail, /aclear, /clothes, /props");
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetap, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
break;
case AdminLevel.PROJEKTLEITUNG:
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
ChatService.SendMessage(player, "~b~ " + "/ac, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
ChatService.SendMessage(player, "~b~ " + "/sethp, /setap, /arevive, /aunjail, /aclear, /clothes, /props");
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetap, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
ChatService.SendMessage(player, "~b~ " + "/makeadmin, /whitelist, /blind");
break; break;
} }
} }

View File

@@ -72,5 +72,11 @@ namespace ReallifeGamemode.Server.Commands
ChatService.SendMessage(player, "~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value); ChatService.SendMessage(player, "~m~" + ((VehicleHash)pVeh.Model) + " | " + veh.ToString() + " | Farbe 1: " + pVeh.PrimaryColor + " | Farbe 2: " + pVeh.SecondaryColor + " | ID: " + pVeh.Handle.Value);
} }
} }
[Command("help", "~m~Benutzung: ~s~/help")]
public void CmdHelp(Player player)
{
player.TriggerEvent("showUserhelp");
} }
} }
}

View File

@@ -1,17 +0,0 @@
using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Database;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Entities.Logs;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Managers
{
class NewbieManager : Script
{
}
}