Da ich kein richtiges Admin-Menü gefunden habe, welches mir gefällt, habe ich mich dazu entschlossen selbst eins zu erstellen.
Hiermit verbiete ich die Verbreitung in anderen Foren ohne meine Erlaubnis!
Ihr könnt in der Admin_Config.hpp Änderungen vornehmen, bei der Class AdminMarkers solltet ihr eure eigenen Marker hinzufügen.
Falls ihr dem Admin-Menü neue Funktionen hinzufügen wollt...Class AdminFunctions --> Index 0 = Displayname, Index 1 = Variable für fn_adminExecute.sqf, Index 2 = Benötigtes Adminlevel und dann noch das neue Case in der fn_adminExecute hinzufügen.
Author: Ich
Vorschau: Klicken (veraltet)
Features:
Spoiler anzeigen
- Über den Textchat können einige Funktionen benutzt werden, der Befehl muss mit ; beginnen.
Zum Beispiel:
;amenu
;god
Für alle Commands siehe fn_adminCmds.sqf
- Überwacht den Textchat bzw. die Eingaben der Spieler. (fn_monitorChat.sqf Zeile 33 eure Blacklist hinzufügen)
- Admin Chat De-/Aktivieren (nur Admins)
- Server abschließen/aufschließen
- Server restarten
- Server herunterfahren
- Whitelist, den Rang von Online Spielern (Coplevel,Mediclevel,Donorlevel) ändern
- Eigene Banlist
- Ts3 Warnlist, zeigt alle Online Spieler an, die Verwarnungen haben
- Liste aller stummgeschalteten Online Spieler
- Gebäude reparieren (500m Umkreis)
- Liste aller Fahrzeuge in der Nähe (1000m Umkreis)
- Liste, Spieler in der Nähe anzeigen (250m Umkreis)
- Fahrzeuge löschen, die via das Admin-Menü gespawnt wurden
- Spieler zu Admin teleportieren
- Admin zu Spieler teleportieren
- Spieler spectaten
- Spieler freezen/unfreezen
- Spieler Kicken/Bannen mit Custom Nachricht (Kein Login als Admin via Systemchat erforderlich)
- Spieler im Sidechat stummschalten/aufheben
- Spieler in der Direktkommunikation stummschalten/aufheben
- Aufforderung den Teamspeak zu joinen an Spieler (nach 3 = automatisch Ban)
- Teamspeak Verwarnungen entfernen
- Spieler fesseln/entfesseln
- Spieler ins Gefängnis einsperren (Jail Time erforderlich)
- Spieler heilen/killen
- Spieler wiederbeleben
- Spieler in die Lobby werfen/kicken
- Spieler aus dem Fahrzeug werfen
- Spieler das komplette Equipment entfernen
- Cash sowie ATM hinzufügen (nur Admin), $10.000, $100.000, $1.000.000
- Admin Modus
- Godmode
- Fahrzeug Godmode
- 3D ESP
- Spieler und/oder Fahrzeug unsichtbar machen (nur Admin)
- Map Markers
- Teleportieren /- zu Koordinaten
- Arsenal Menü öffnen
- Freie Kamera
- No Recoil / Infinite Ammo
- Fahrzeugschlüssel nehmen
- Geschwindigkeit (bzw. Animation) erhöhen
- Fliegen Modus
- Nebel ein/aus
- Regen ein/aus
- Blitze ein/aus
- Wellen ein/aus
- Wolken ein/aus
- Tag/Nacht Wechsel
- Spawnpunkte, zu Markerpositionen teleportieren (müssen in der Config festgelegt werden)
- Fahrzeuge spawnen (Inkl. Texturen)
- Waffen spawnen
- Kleidung spawnen
- Items spawnen
- V-Items spawnen
Anleitung:
Bitte erstellt vorher unbedingt ein Backup!
1. Fügt den Ordner admin in euer Hauptverzeichnis (Altis_Life.Altis) ein
2. Geht in eure CfgRemoteExec.hpp und fügt unter Class Functions folgendes ein
Beispiel:
Spoiler anzeigen
#define F(NAME,TARGET) class NAME { \
allowedTargets = TARGET; \
};
#define JIP(NAME,TARGET) class NAME { \
allowedTargets = TARGET; \
jip = 1; \
};
#define ANYONE 0
#define CLIENT 1
#define SERVER 2
#define HC HC_Life
class CfgRemoteExec {
class Functions {
mode = 1;
jip = 0;
#include "admin\AdminRemoteExec.cpp"
/* Client only functions */
F(life_fnc_AAN,CLIENT)
F(life_fnc_hideObj,CLIENT)
F(life_fnc_addVehicle2Chain,CLIENT)
F(life_fnc_bountyReceive,CLIENT)
...
};
Alles anzeigen
3. Geht in eure description.ext und fügt unter Class CfgFunctions ein
und weiter oben in der gleichen Datei
wir bleiben noch in der Datei und fügen unter class CfgDebriefing folgendes ein
class Kicked {
title = "Information";
subtitle = "Kicked by an administrator";
description = "You got kicked from this server. Contact an administrator for more information.";
pictureBackground = "";
picture = "";
pictureColor[] = {0,0.3,0.6,1};
};
class Banned {
title = "Information";
subtitle = "Permanently Banned";
description = "You got banned from this server. Contact an administrator to appeal the ban.";
pictureBackground = "";
picture = "";
pictureColor[] = {0,0.3,0.6,1};
};
Alles anzeigen
4. Geht in eure core\init.sqf und fügt am Ende vor "End of Altis Life Client" ein
diag_log "[Admin Init] Setting up Variables";
[] execVM "admin\init.sqf";
diag_log "Finished Admin Init initialization";
5. Stellt sicher, dass ihr in eurer dialog\common.hpp folgende Class habt
class Life_RscButtonInvisible
{
style = 2;
type = 16;
x = 0;
y = 0;
w = 0.095589;
h = 0.039216;
shadow = 2;
font = "PuristaMedium";
colorText[] = {1,1,1,0.0};
color[] = {1, 1, 1, 0.0};
colorDisabled[] = {1, 1, 1, 0};
color2[] = {0,0,0,0};
colorBackground[] = {1, 1, 1, 0};
colorBackgroundActive[] = {1, 1, 1, 0};
colorBackgroundDisabled[] = {1, 1, 1, 0};
colorFocused[] = {1, 1, 1, 0};
colorShadow[] = {1, 1, 1, 0};
animTextureNormal = "#(argb,8,8,3)color(1,1,1,0)";
animTextureDisabled = "#(argb,8,8,3)color(1,1,1,0)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,0)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,0)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,0)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,0)";
colorBackgroundFocused[] = {1,1,1,0};
colorBackground2[] = {0.75,0.75,0.75,0};
offsetX = 0.003;
offsetY = 0.003;
offsetPressedX = 0.002;
offsetPressedY = 0.002;
SizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
size = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
borderSize = 0.0;
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1};
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
class HitZone
{
left = 0.0;
top = 0.0;
right = 0.0;
bottom = 0.0;
};
class TextPos
{
left = "0.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
top = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - ( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";
right = 0.005;
bottom = 0.0;
};
class Attributes
{
font = "PuristaLight";
color = "#E5E5E5";
align = "left";
shadow = "0";
};
class ShortcutPos
{
left = "(6.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";
top = 0.005;
w = 0.0225;
h = 0.03;
};
textureNoShortcut = "";
};
Alles anzeigen
6. Fügt in eure core\configuration.sqf ein
/*
*****************************
****** Admin Variables *****
*****************************
*/
life_adminEsp = false;
life_adminRecoil = false;
life_adminAmmo = false;
life_adminMode = false;
life_adminMarkers = false;
life_adminKeys = false;
life_adminFly = false;
life_adminHovering = false;
life_vehgod = false;
Alles anzeigen
7. Führt in eurer Datenbank folgenden Befehl aus
CREATE TABLE `banlist` (
`logID` int(11) NOT NULL AUTO_INCREMENT,
`SpielerID` varchar(17) NOT NULL,
`Name` varchar(255) DEFAULT NULL,
`Admin` varchar(255) DEFAULT NULL,
`Grund` varchar(255) DEFAULT NULL,
`Dauer` varchar(255) DEFAULT NULL,
`Datum` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`logID`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `players` (
`banned` tinyint(4) NOT NULL DEFAULT 0,
)
Alles anzeigen
8. Geht in eure life_server\init.sqf
Sucht life_radio_indep und fügt darunter folgendes ein:
9. Das Menü kann z.B. über einen Button im Z-Menü geöffnet werden
10. In der Datei fn_showMsg.sqf ändert ihr bitte noch die Zeile 30 und schreibt euren Ts3 Namen in die Anführungszeichen.
11. Die Icons in euren Icon Ordner hinzufügen.
Falls ich was vergessen habe, sagt Bescheid! Viel Spaß damit