In diesem Artikel wird erläutert, wie man manuell Wanteds vergeben kann.
1. Die Datei Functions.h aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis öffnen 1.1. Folgende Zeile in der Datei suchen:
class Player_Menu
1.2. Diese Zeilen an die vorhandenen Einträge anfügen:
class wantedadd2 {}; class wanted2 {};
1.3. Der Abschnitt sollte nun folgendermaßen aussehen:
class Player_Menu { file = "corepmenu"; class wantedList {}; class wantedInfo {}; class wantedMenu {}; class pardon {}; class giveItem {}; class giveMoney {}; class p_openMenu {}; class p_updateMenu {}; class removeItem {}; class useItem {}; class cellphone {}; class keyMenu {}; class keyGive {}; class keyDrop {}; class s_onSliderChange {}; class updateViewDistance {}; class settingsMenu {}; class settingsInit {}; class wantedadd2 {}; class wanted2 {}; };
2. Die Datei fn_wanted2.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/pmenu mit folgendem Inhalt erstellen:
private["_unit","_amount"]; ctrlShow[2001,false]; if((lbCurSel 9902) == -1) exitWith {hint "Niemand wurde ausgewaehlt!";ctrlShow[2001,true];}; _unit = lbData [9902,lbCurSel 9902]; _unit = call compile format["%1",_unit]; _amount = lbData [9991,lbCurSel 9991]; if(isNil "_unit") exitWith {ctrlShow[2001,true];}; //if(_unit == player) exitWith {ctrlShow[2001,true];}; if(isNull _unit) exitWith {ctrlShow[2001,true];}; [[1,format["Nach %1 wird nun gefahndet.",name _unit,_amount,getPlayerUID _unit]],"life_fnc_broadcast",west,false] spawn life_fnc_MP; [[getPlayerUID _unit,name _unit,_amount],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;
2.1. Die Datei fn_wantedadd2.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/pmenu mit folgendem Inhalt erstellen:
//fn_wantedadd2.sqf private["_display","_list","_side"]; disableSerialization; waitUntil {!isNull (findDisplay 9900)}; _display = findDisplay 9900; _list = _display displayCtrl 9902; //Purge List lbClear _list; { _side = switch(side _x) do {case west: {"Cop"}; case civilian : {"Civ"}; default {"Unknown"};}; _list lbAdd format["%1 - %2", name _x,_side]; _list lbSetdata [(lbSize _list)-1,str(_x)]; } foreach playableUnits; _list2 = _display displayCtrl 9991; lbClear _list2; //_index = lbAdd [_list2, "Name"]; //lbSetData [_list2, _index, "pfad/zum/bild.paa"]; //lbSetValue [_list2, _index, "pfad/zum/bild.paa"]; _text = "Fahren ohne Fuehrerschein $15000"; _data = "1"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Versuchter Fahrzeug Diebstahl pro Versuch $10000"; _data = "2"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Diebstahl von Fahrzeugen $20000"; _data = "3"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Fahren ohne Licht $1500"; _data = "4"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Ueberhoehte Geschwindigkeit $6000"; _data = "5"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Gefaehrliche Fahrweise $7500"; _data = "6"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Versuchter Diebstahl e. Polizeifahrzeugs $15000"; _data = "7"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Diebstahl von Polizeifahrzeugen $25000"; _data = "8"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Landen ohne Genehmigung $20000"; _data = "9"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Fahren von illegalen Fahrzeugen $100000"; _data = "10"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Unfallverursacher / Fahrerflucht nach Unfall $5000"; _data = "11"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Flucht vor der Polizei $17500"; _data = "12"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Ueberfahren eines anderen Spielers $1234567"; _data = "13"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Illegale Strassensperren $15000"; _data = "14"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Widerstand gegen die Staatsgewalt $45000"; _data = "15"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Nicht befolgen e. pol. Anordnung $5000"; _data = "16"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Beamtenbeleidigung $15000"; _data = "17"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Belaestigung eines Polizisten $14000"; _data = "18"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Betreten einer pol. Sperrzone $50000"; _data = "19"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Toeten eines Polizisten $1234567"; _data = "20"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Beschuss auf Polizei/Beamte/Eigentum $1234567"; _data = "21"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Zerstoerung von Polizeieigentum $15000"; _data = "22"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Drogendelikte $123456"; _data = "23"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Waffenbesitz ohne Lizenz $70000"; _data = "24"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Mit gez. Waffe durch Stadt $50000"; _data = "25"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Besitz einer illegalen Waffe $150000"; _data = "26"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Abfeuern einer Waffe innerhalb von Staedten $50000"; _data = "27"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Geiselnahme $1234567"; _data = "28"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Raubueberfall auf Personen/Fahrzeuge $60000"; _data = "29"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Bankraub $1234567"; _data = "30"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Mord $1234567"; _data = "31"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Aufstand $75000"; _data = "32"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Angriff durch Rebellen $75000"; _data = "33"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Angriff/Belagerung von Hauptstaedten/Checkpoints $1234567"; _data = "34"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Landung in einer Flugverbotszone $75000"; _data = "35"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Fliegen/Schweben unterhalb 150m ueber Stadt $2000"; _data = "36"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Ausbruch aus dem Gefaengnis $1234567"; _data = "37"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Fliegen ohne Fluglizenz $50000"; _data = "38"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Dauerhaftes hupen $7500"; _data = "39"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data]; _text = "Handel mit exotischen Gütern $500000"; _data = "40"; _list2 lbAdd format["%1 (%2)",_text,_data]; _list2 lbSetData [(lbSize _list2)-1,_data];
2.2. Die Datei wantedadd2.hpp im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/dialog mit folgendem Inhalt erstellen:
class life_wantedadd2 { idd = 9900; name= "life_wantedadd2"; movingEnable = false; enableSimulation = true; onLoad = "[] spawn life_fnc_wantedadd2;"; class controlsBackground { class Life_RscTitleBackground:Life_RscText { colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"}; idc = -1; x = 0.1; y = 0.2; w = 1.0; h = (1 / 25); }; class MainBackground:Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 1.0; h = 0.9 - (22 / 250); }; }; class controls { class Title : Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = 2901; text = "Anzeige schreiben"; x = 0.1; y = 0.2; w = 0.7; h = (1 / 25); }; class PlayerList_Admin : Life_RscListBox { idc = 9902; text = ""; sizeEx = 0.035; //colorBackground[] = {0,0,0,0}; onLBSelChanged = "[_this] spawn life_fnc_adminQuery"; x = 0.12; y = 0.26; w = 0.30; h = 0.72; }; class RSUCombo_2101: Life_RscListBox { idc = 9991; text = ""; sizeEx = 0.035; x = 0.42; y = 0.26; w = 0.65; h = 0.72; // onLBSelChanged="call fnc_Cmb_changed;"; //--- action/function to call when listbox or combobox has been changed }; class CloseButtonKey : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 1.1 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class Adminwanted : Life_RscButtonMenu { idc = -1; text = "Hinzufügen"; onButtonClick = "[] call life_fnc_wanted2;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 1.1 - (1 / 25); w = 0.18; //w = (6.25 / 40); h = (1 / 25); }; }; };
3. Die Datei masterhandler.h im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/dialog öffnen und folgende Zeilen unten anfügen:
#include "wantedadd2.hpp"
3.1. Die Datei player_inv.hpp im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/dialog öffnen und folgende Zeilen unten anfügen:
class ButtonWantedAdd : life_RscButtonMenu { idc = 9800; //shortcuts[] = {0x00050000 + 2}; text = "Anzeige"; onButtonClick = "createDialog ""life_wantedadd2"";"; x = 0.42 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH)); y = 0.805; w = (6.25 / 40); h = (1 / 25); };
3.2. Die Datei fn_WantedAdd.sqf im Verzeichnis /arma3/@life_server/addons/life_server/functions/WantedSystem öffnen und folgende Zeilen unten anfügen:
/bin /boot /dev /etc /home /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var File: fn_wantedAdd.sqf Author: Bryan "Tonic" Boardwine Description: Adds or appends a unit to the wanted list. en-dev/ output/ private["_uid","_type","_index","_data","_crimes","_val","_customBounty","_name"]; _uid = [_this,0,"",[""]] call BIS_fnc_param; _name = [_this,1,"",[""]] call BIS_fnc_param; _type = [_this,2,"",[""]] call BIS_fnc_param; _customBounty = [_this,3,-1,[0]] call BIS_fnc_param; if(_uid == "" OR _type == "" OR _name == "") exitWith {}; //Bad data passed. //What is the crime? switch(_type) do { case "187V": {_type = ["Überfahren eines Spielers",1234567]}; case "187": {_type = ["Mord",1234567]}; case "901": {_type = ["Ausbruch aus dem Gefängnis",1234567]}; case "261": {_type = ["Rape",5000]}; //What type of sick bastard would add this? case "261A": {_type = ["Attempted Rape",3000]}; case "215": {_type = ["Versuchter Fahrzeugdiebstahl",10000]}; case "213": {_type = ["Use of illegal explosives",10000]}; case "211": {_type = ["Raubueberfall",60000]}; case "207": {_type = ["Geiselnahme",1234567]}; case "207A": {_type = ["Versuchte Geiselnahme",1234567]}; case "487": {_type = ["Fahrzeugdiebstahl",20000]}; case "488": {_type = ["Diebstahl",15000]}; case "480": {_type = ["Hit and run",1300]}; case "481": {_type = ["Drogenbesitz",1234567]}; case "482": {_type = ["Intent to distribute",5000]}; case "483": {_type = ["Drogenhandel",1234567]}; case "459": {_type = ["Hauseinbruch",50000]}; case "390": {_type = ["Einfluss unter Alkoholeinfluss",15000]}; case "919": {_type = ["Organ Handel",50000]}; case "1": {_type = ["Fahren ohne Fuehrerschein",15000]}; case "2": {_type = ["Versuchter Fahrzeugdiebstahl",10000]}; case "3": {_type = ["Fuehren eines gestohlenen Fahrzeugs",20000]}; case "4": {_type = ["Fahren ohne Licht",1500]}; case "5": {_type = ["Ueberhoehte Geschwindigkeit",6000]}; case "6": {_type = ["Gefaehrliche Fahrweise",7500]}; case "7": {_type = ["Versuchter Diebstahl e. Polizeifahrzeugs",15000]}; case "8": {_type = ["Diebstahl von Polizeifahrzeugen",25000]}; case "9": {_type = ["Landen ohne Genehmigung",20000]}; case "10": {_type = ["Fahren von illegalen Fahrzeugen", 100000]}; case "11": {_type = ["Unfallverursacher / Fahrerflucht nach Unfall",5000]}; case "12": {_type = ["Flucht vor der Polizei",17500]}; case "13": {_type = ["Ueberfahren eines anderen Spielers",30000]}; case "14": {_type = ["Illegale Strassensperren",15000]}; case "15": {_type = ["Widerstand gegen die Staatsgewalt",45000]}; case "16": {_type = ["Nicht befolgen e. pol. Anordnung",5000]}; case "17": {_type = ["Beamtenbeleidigung",15000]}; case "18": {_type = ["Belaestigung eines Polizisten",14000]}; case "19": {_type = ["Betreten einer pol. Sperrzone",50000]}; case "20": {_type = ["Toeten eines Polizisten",1234567]}; case "21": {_type = ["Beschuss auf Polizei/Beamte/Eigentum",1234567]}; case "22": {_type = ["Zerstoerung von Polizeieigentum",15000]}; case "23": {_type = ["Drogendelikte",1234567]}; case "24": {_type = ["Waffenbesitz ohne Lizenz",70000]}; case "25": {_type = ["Mit gez. Waffe durch Stadt",50000]}; case "26": {_type = ["Besitz einer illegalen Waffe",150000]}; case "27": {_type = ["Abfeuern einer Waffe innerhalb einer Stadt",50000]}; case "28": {_type = ["Geiselnahme",1234567]}; case "29": {_type = ["Raubeuberfall",60000]}; case "30": {_type = ["Bankraub",1234567]}; case "31": {_type = ["Mord",1234567]}; case "32": {_type = ["Aufstand",75000]}; case "33": {_type = ["Angriff durch Rebellen",75000]}; case "34": {_type = ["Angriff/Belagerung von Staedten/Checkpoints",1234567]}; case "35": {_type = ["Landung in einer Flugverbotszone",75000]}; case "36": {_type = ["Fliegen/Schweben unterhalb 150m ueber Stadt",20000]}; case "37": {_type = ["Ausbruch aus dem Gefaengnis",1234567]}; case "38": {_type = ["Fliegen ohne Fluglizenz",50000]}; case "39": {_type = ["Dauerhaftes hupen",7500]}; case "40": {_type = ["Handel mit exotischen Guetern",50000]}; case "41": {_type = ["Umfahren eines Außenpostens",25000]}; case "42": {_type = ["Kraftwerk manipulation",25000]}; case "120S": {_type = ["Überhöte Geschwindigkeit",5000]}; case "120H": {_type = ["Gewohntes Fahren",8000]}; case "120WL": {_type = ["Driving W/O License",8000]}; case "120FS": {_type = ["Gefährliche Fahrweise",8000]}; default {_type = [];}; }; if(count _type == 0) exitWith {}; //Not our information being passed... //Is there a custom bounty being sent? Set that as the pricing. if(_customBounty != -1) then {_type set[1,_customBounty];}; //Search the wanted list to make sure they are not on it. _index = [_uid,life_wanted_list] call TON_fnc_index; if(_index != -1) then { _data = life_wanted_list select _index; _crimes = _data select 2; _crimes pushBack (_type select 0); _val = _data select 3; life_wanted_list set[_index,[_name,_uid,_crimes,(_type select 1) + _val]]; } else { life_wanted_list pushBack [_name,_uid,[(_type select 0)],(_type select 1)]; };
4. Die Datei fn_p_openMenu.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/pmenu öffnen und folgende Zeile suchen:
case civilian: und case independent:
ctrlShow[2011,false];
ctrlShow[9800,false];
{ case west: { ctrlShow[2011,false]; }; case civilian: { ctrlShow[2012,false]; ctrlShow[9800,false]; }; case independent: { ctrlShow[9800,false]; ctrlShow[2011,false]; ctrlShow[2012,false]; }; };
Jetzt Game Server mieten Mehr Nitrado:
Anticheat
Maximale Anzahl gezähmter Dinos erhöhen
ARK Server laggt
Arma 2 Epoch Taviana
Arma 3 Blastcore Mod installieren
Atlas Admin Befehle Guide
Befehle bei ECO Global Survival
CClogger
CSGO ESL Serverkonfiguration