Hey Leute,
seit nicht allzu streng. Dies ist mein erstes Tutorial
ich beschäftige mich ca. seit einem Monat mit Dialogs und habe mir ein eigenes Admin Tool erstellt. Mir ging es darum, dass man seinen Server besser verwalten kann, jedoch sollen die Admins auch nicht zu overpowert sein (deswegen kein Godmode / Health Funktion).
Vorab, die Fahrzeuglist stammt aus dem Admintool von Black Lagoon, da mir die Aufteilung sehr gut gefällt und ich denke, dies sollte kein Problem sein, da ja deren Mission für jeden verfügbar ist
Was kann das Admin Tool?
- Spieler kicken
- Spieler bannen
- Spieler spectaten
- Teleportieren (im Dialog sind Standorte festlegbar)
- Fahrzeuge spawnen
- Marktpreise Reset (falls Black Lagoon Marktsystem vorhanden)
- Geld geben
Den Button zu meinem Admin Menü habe ich im standartmäßigen Admin Tool eingebaut, da ich dieses weiterhin behalten wollte.
Hier sind ein paar Bilder:
Kommen wir zur Installation:
Was muss bearbeitet werden?
- descritption.ext
- dialog\admin_menu.hpp
- Function.h
Was muss hinzugefügt werden?
-admin\"scripte"
-core\admin\"scripte"
Die Dateien, die hinzugefügt werden finden ihr im Anhang.
Fangen wir mit der Description.ext an:
Fügt unter "#include dialog\MasterHandler.h" folgendes hinzu:
Nun kommt die Function.h so muss die class Admin aussehen:
class Admin
{
file = "core\admin";
class admininfo {};
class adminid {};
class admingetID {};
class adminMenu {};
class adminQuery {};
class adminKick {};
class adminBan {};
class adminMenu_Extended {};
class adminQuery_Extended {};
class adminAddMoney {};
class adminSpawnVehicle {};
class adminAuthentificate {};
class adminCheckAuth {};
class admin_spectate {};
};
Alles anzeigen
Jetzt fügen wir noch im Alten Admin Tool einen Button hinzu, der uns zum neuen Admin Tool leitet. Dazu öffnet die "dialog\admin_menu.hpp" und fügt folgendes unter class AdminID hinzu:
class Adminex : Life_RscButtonMenu {
idc = -1.;
text = "Erweitert";
onButtonClick = "[] execVM ""admin\script.sqf"";";
x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.88 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
So sollte das aussehen:
Spoiler anzeigen
class AdminID : Life_RscButtonMenu {
idc = -1;
text = "$STR_Admin_GetID";
onButtonClick = "[] call life_fnc_admingetID;";
x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.88 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class Adminex : Life_RscButtonMenu {
idc = -1.;
text = "Erweitert";
onButtonClick = "[] execVM ""admin\script.sqf"";";
x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.88 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
Alles anzeigen
Da ich mit einer anderen Map arbeite, heißen und sind meine Spawnpunkte auch anders.
Um sie zu ändern, gehe zu "admin\admin.hpp" und scrolle bis zu diesen Klassen:
Spoiler anzeigen
class admin_roenne: Life_RscButtonMenu
{
idc = 2408;
text = "Roenne"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.302 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""roenne_spawn_1""); hintc ""Sie sind in Roenne gespawnt"";";
tooltip = "Klicken Sie hier, um in Roenne zu spawnen";
};
class admin_nexoe: Life_RscButtonMenu
{
idc = 2440;
text = "Nexoe"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.335 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""noxoe_spawn_2""); hintc ""Sie sind in Nexoe gespawnt"";";
tooltip = "Klicken Sie hier, um in Nexoe zu spawnen";
};
class admin_allinge: Life_RscButtonMenu
{
idc = 2410;
text = "Allinge"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.368 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""civ_spawn_1""); hintc ""Sie sind in Allinge gespawnt"";";
tooltip = "Klicken Sie hier, um in Allinge zu spawnen";
};
class admin_gudhjem: Life_RscButtonMenu
{
idc = 2411;
text = "Gudhjem"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.401 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""gudhjem_spawn_4""); hintc ""Sie sind in Gudhjem gespawnt"";";
tooltip = "Klicken Sie hier, um in Gudhjem zu spawnen";
};
class admin_hasle: Life_RscButtonMenu
{
idc = 2412;
text = "Hasle"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.434 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""civ_hasle_spawn""); hintc ""Sie sind in Hasle gespawnt"";";
tooltip = "Klicken Sie hier, um in Hasle zu spawnen";
};
class admin_christiansoe: Life_RscButtonMenu
{
idc = 2413;
text = "Christiansoe"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.467 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""cc_spawn_5""); hintc ""Sie sind in Christiansoe gespawnt"";";
tooltip = "Klicken Sie hier, um in Christiansoe zu spawnen";
};
class admin_jail: Life_RscButtonMenu
{
idc = 2414;
text = "Gefängnis"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.5 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""jail_marker""); hintc ""Sie sind im Gefängnis gespawnt"";";
tooltip = "Klicken Sie hier, um in Gefängnis zu spawnen";
};
class admin_air: Life_RscButtonMenu
{
idc = 2415;
text = "Grosser Flughafen"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.533 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""air_g_1""); hintc ""Sie sind am Großen Flughafen gespawnt"";";
tooltip = "Klicken Sie hier, um am Großen Flughafen zu spawnen";
};
class admin_airforce: Life_RscButtonMenu
{
idc = 2416;
text = "Dänische Airforce"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.566 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""air_force""); hintc ""Sie sind an der Dänischen Airforce gespawnt"";";
tooltip = "Klicken Sie hier, um an der Dänischen Airforce zu spawnen";
};
class admin_klair: Life_RscButtonMenu
{
idc = 2417;
text = "Kleiner Flughafen"; //--- ToDo: Localize;
x = 0.592812 * safezoneW + safezoneX;
y = 0.599 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""respawn_west_1""); hintc ""Sie sind am Kleinen Flughafen gespawnt"";";
tooltip = "Klicken Sie hier, um am Kleinen Flughafen zu spawnen";
};
Alles anzeigen
Wenn ihr zum Beispiel Roenne zu Kavalla ändern wollt, sieht das ganze so aus:
class admin_roenne: Life_RscButtonMenu
{
idc = 2408;
text = "Kavalla"; //--- Tragt hier den Namen ein, wo ihr spawnen wollt
x = 0.592812 * safezoneW + safezoneX;
y = 0.302 * safezoneH + safezoneY;
w = 0.139219 * safezoneW;
h = 0.022 * safezoneH;
action = "closeDialog 0; player setPos (getmarkerpos ""civ_spawn_1""); hintc ""Sie sind in Roenne gespawnt"";"; //tragt bei dem Roten den Namen des Markers ein.
tooltip = "Klicken Sie hier, um in Roenne zu spawnen";
};
Alles anzeigen
Optionaler Godmode:
Wenn ihr God-Mode hinzufügen wollt, öffnet die admin\admin.hpp und fügt folgendes am Ende ein:
class admin_god_on: Life_RscButtonMenu
{
idc = -1;
text = "God-Mode ein"; //--- ToDo: Localize;
x = 0.42 * safezoneW + safezoneX;
y = 0.797 * safezoneH + safezoneY;
w = 0.07 * safezoneW;
h = 0.022 * safezoneH;
onButtonClick = "hint ""God-Mode wurde aktiviert.""; player allowDamage false;";
tooltip = "Aktiviert God-Mode.";
};
class admin_god_off: Life_RscButtonMenu
{
idc = -1;
text = "God-Mode aus"; //--- ToDo: Localize;
x = 0.492 * safezoneW + safezoneX;
y = 0.797 * safezoneH + safezoneY;
w = 0.07 * safezoneW;
h = 0.022 * safezoneH;
onButtonClick = "hint ""God-Mode wurde deaktiviert.""; player allowDamage true;";
tooltip = "Deaktiviert God-Mode.";
};
Alles anzeigen
Achtet drauf, dass die Klammern alle richtig sitzen.
So das wars auch schon soweit. Fügt nun noch die Dateien aus dem Anhang hinzu. Wünsche euch viel Spaß und würde mich um ein Daumen hoch freuen
Falls ich was vergessen haben sollte oder etw. nicht funktioniert, schreibt einfach unter diesem Post. Ich werde versuchen jede Frage/Problem zu beseitigen.
Noch einen schönen Abend
mfg Oliver0l