Jump to content

All you need to know about BE Filters but were too lazy to Google


Glenn

Recommended Posts

This is not my Guide!

 

All credits goes to ebay over at opendayz.net and his original post: http://opendayz.net/threads/a-guide-to-battleye-filters.21066/

 

This is reposted here in part only – you need to check out the original post for the full guide.  

I have chosen to post this in this way for a few reasons:

·         I am tired of people just posting “BE Files?” when they encounter Restriction kicks from putting in random scripts in their mission files.

·         I want to make sure that people learn how to do it and work on learning some basic skills in how to manage their own server – adjusting their filters when they put more stuff into the server seems to be lacking so far…

 

A simple google search provides all the information you will ever need on the topic of BE filters.  (http://bit.ly/1DgDAAE) (http://lmgtfy.com/?q=Editing+BattleEye+filters+for+Arma+3)
 

So without further details let me present:

 

Ebay’s: A Guide to BattlEye Filters

I noticed a severe lack of information on BattlEye across Arma and DayZ modding communities. This guide will give an overview of BE filters, BEServer.cfg and automatic banning with BE.

What they are:
BE filters are an optional feature of BattlEye Anti-Cheat for Arma games. They provide some additional protection that is customizable by mod makers and server admins. Currently Bastian ($able) is the sole developer of BE for Arma. However, other Bohemia devs like Dwarden contribute ideas for him to implement. Dwarden also made the original filters for DayZ mod a few years ago.

Mod developers usually provide filters with their server files. Below are links to current filters for popular DayZ mods:
 

Infistar also maintains filters for compatibility with his antihack here. Place the .txt files in your dedicated server config directory\BattlEye\ folder. If you are using a managed host this will usually be accessible through FTP.

How they work:
BE searches all scripts running on the client (scripts.txt) and specific command parameters (other filters) for the keywords provided in the filter .txt files. If a match is found it can take one of the following actions:

1 = Log to .log file only
2 = Log to console only
= Log to both
4 = Kick with no log
5 = Kick and log to .log file only
6 = Kick and log to console only
7 = Kick and log to both

Console refers to the window which opens when running the Arma server.exe. The console always shows all connects, disconnects and kicks. Its output is saved in a .txt file in the config directory if logFile option is set in server.cfg. It is also visible when connected over Rcon.

Logging to .log is recommended because it creates separate .log files in the \BattlEye\ folder for each restriction type. This makes it much easier to review than one large console log file with all types mixed together.

Logging to console is only useful if a live stream of BE logs is needed over Rcon. Beware it increases server resource usage, especially when streaming frequently written to logs. It also tends to flood Rcon and make connect, disconnect and kick messages difficult to read. For this reason logging to console is not advised unless your filters are configured to log very little. It should also be noted logging to both console and .log with logFile set in server.cfg is writing the same data to disk in two different files.


Adding keywords:
On a new line add the number followed by a single space and a keyword:
5 keyword

If a keyword contains spaces it must be enclosed in double quotes:
5 "key word"

If a keyword contains double quotes " they must be preceded by a \ like so:
5 "key \"word\""

If a keyword contains regex metacharacters ({}[]()^$.|*+? and \) they must also be preceded by a \ like so:
5 "key \(word\)"

Note: The one exception to this rule is scripts.txt. Currently it is the only filter that does not support regex. It will be added later according to Bastian. This means the only characters that need to be preceded with a \ in scripts.txt are double quotes " for now.

Use keywords that catch multiple strings when possible. For example, say in createVehicle.txt you want to kick for spawning humvees. Instead of adding a keyword for each class name like this:
5 HMMWV_DES_EP1
5 HMMWV_M1035_DES_EP1
5 HMMWV_Ambulance_DES_EP1
...


It is more efficient to use a single keyword that covers all humvees:
5 HMMWV_

To catch everything use empty double quotes for the keyword "" or leave it blank:
5 ""

Adding exceptions (fixing unwanted kicks):
On the same line add a single space after the keyword. Then add either != or ! with the exception:
5 keyword !keywordException

Exceptions follow the same rules as keywords. If an exception contains spaces it must be enclosed in double quotes:
5 keyword !"keyword exception"

If an exception contains double quotes " they must be preceded by a \ like so:
5 "key word" !"key word \"exception\""

If an exception contains regex metacharacters ({}[]()^$.|*+? and \) they must also be preceded by a \ like so:
5 keyword !"keyword \(exception\)"

Note: Again this regex rule does not apply to scripts.txt.


The two options for exceptions are:
 

  • != The parameter must exactly match the exception. In scripts.txt the entire statement the keyword is found in must exactly match the exception.
  • ! The parameter must contain the exception. In scripts.txt the statement the keyword is found in must contain the exception.

For example, if this is our createvehicle.txt filter:
5 "HMMWV_" !"HMMWV_Ambulance"

The code example below will not kick because the type parameter contains HMMWV_Ambulance which is an exception:
createVehicle ["HMMWV_Ambulance_DES_EP1",getPosATL player,[],10,"NONE"];

The code example below will kick because the parameter does not contain HMMWV_Ambulance:
createVehicle ["HMMWV_DES_EP1",getPosATL player,[],10,"NONE];

If we change our filter to use != like so:
5 "HMMWV_" !="HMMWV_Ambulance"

Now both of the above code examples will kick because the parameters are not exact matches to HMMWV_Ambulance. The below code example will not kick because it is an exact match:
createVehicle ["HMMWV_Ambulance",getPosATL player,[],10,"NONE"];

Exceptions work differently in scripts.txt as noted above. For example, if this is our filter in scripts.txt:
5 keyword !=keywordException

The code example below will kick because the exception is not an exact match to the statement:
systemChat "keywordException";

To fix we need to change the filter to include the entire statement as an exception:
5 keyword !="systemChat \"keywordException\";"

Now the above code example will not kick.

Note: 
statements should be one line by convention in SQF, but they can span multiple lines. For example the statement below will work without error, but spans four lines:

Code (Text):

if (2 > 1) then
{
    systemChat "keywordException"
};

Because there is no semicolon ; on the end of the systemChat line, the above code will still kick. To avoid this the script should be written so the systemChat line ends with a semicolon.

Alternatively, the filter could be changed to use ! instead of != so the statement the keyword is found in must onlycontain the exception:
5 keyword !keywordException
Now both of the above code examples will not kick.

In general exceptions should be written with != when ever possible. Using ! allows much more through the filter. There are some exceptions to this, such as the 
createvehicle.txt HMMWV_Ambulance example above. In that case it is more efficient to use a single ! exception to allow multiple class names, rather than multiple != exceptions. Many more fancy things can be done in filters that support regex. To learn more about regex check this out.

Note: BE filters are not case sensitive, but they are sensitive to spaces and line breaks.

Below is a walk through of each filter file in this format:

filename.txt:
 

  • [Filters] Which command(s) parameter(s) are searched for keywords
  • [Kick] Suggested keywords to kick and log (5)
  • [Log] Optional keywords to log (1). Opting to log extra keywords may provide more information for identifying cheaters and monitoring server activity. The trade off is larger logs to review, extra resource usage from searching for more keywords and more writes to disk.
  • [Logs] Additional info the log file shows
  • [Abuse] How the command(s) can be abused by cheaters (if no other prevention is in place)

 

Link to comment
Share on other sites

  • 2 weeks later...

I just skimmed the post real quick so maybe I missed it but it's missing a key piece of information. 

 

How to figure out what line to edit

 

In the BE filters, the first line is line 0. Any lines that are commented out with // are not included.

 

Example: 

 

Here is the line in my scripts.log:

07.12.2014 01:18:30: BetterDeadThanZed (IP DELETED) GUID DELETED - #20 "[] execVM "custom\messages\welcome.sqf";

In the scripts.txt file, I go to the 21st line, which is line 20 (Because the first line is line 0). This is the line before making any changes:

7 exec !="<execute expression=" !"RscDebugConsole_execute" !"execFSM" !"_executeStackedEventHandler" !"fn_execVM" !"fn_moduleExecute" !"fn_execRemote" !"fn_MPexec" !"bis_fnc_moduleExecute_activate" !"fn_tridentExecute" !"randomize_civ1" !"executed from" !"EPOCH_DebugGUI_exec" !"_handle = [_display] execVM _script;" !"execVM \"\A3\Structures_F\scripts" !="execVM \"\A3\Structures_F_EPC\Civ\PlayGround\scripts\Carousel_spin.sqf\""

Here's the modified line. Note the addition at the end of the line:

7 exec !="<execute expression=" !"RscDebugConsole_execute" !"execFSM" !"_executeStackedEventHandler" !"fn_execVM" !"fn_moduleExecute" !"fn_execRemote" !"fn_MPexec" !"bis_fnc_moduleExecute_activate" !"fn_tridentExecute" !"randomize_civ1" !"executed from" !"EPOCH_DebugGUI_exec" !"_handle = [_display] execVM _script;" !"execVM \"\A3\Structures_F\scripts" !="execVM \"\A3\Structures_F_EPC\Civ\PlayGround\scripts\Carousel_spin.sqf\"" !=execVM "custom\welcome\welcome.sqf";"
Link to comment
Share on other sites

ok I could use abit more schooling on BE filters mostly script restrictions...

 

I have overcome most filters with the !=""

but script restrictions are abit different...

I really need to learn this as I am always adding scripts to my servers but I have never had script restrictions on arma 2

 

I am getting this error..

 

kicked for the last one now #20

22.12.2014 15:38:52: Calamity (174.58.107.56:56104) d77eed01d160424505535d1938b21bf3 - #20 " 1];

09.12.2014 14:38:02: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #15 "setPos _junkPosition;
_junk enableSimulation false;
_junk allowDamage false;


_fakeName = call CREATE_RANDOM_IED_NAME;
_markerNa"
09.12.2014 14:46:14: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #13 "xit", [13], "", -3, [["expression", ""]], "1", "1"]
];
showCommandingMenu "#USER:cloakmenu";"
09.12.2014 15:34:33: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #21 "CargoGlobal ["arifle_MXM_RCO_pointer_snds_F", 2];
_box1 addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag_Tracer", 4];
_box1 add"
09.12.2014 16:04:20: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #3 ";
}];

if ((getPosASL player) select 2 > 0) then
{

player attachTo [_remorqueur, [
(boundingBox _remorqueur select 1 select 0)"
09.12.2014 16:08:28: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #47 "WrflDnon_medic") then
{
player switchMove "";
player removeAllEventHandlers "AnimDone";
};
}];


if ((getPosASL player) select 2 "
09.12.2014 17:08:04: Calamity (174.58.107.56:55952) d77eed01d160424505535d1938b21bf3 - #3 ""R3F_LOG_est_transporte_par", _heliporteur, true];

_objet attachTo [_heliporteur, [
0,
0,
(boundingBox _heliporteur select 0 s"
22.12.2014 06:24:35: Calamity (174.58.107.56:56874) d77eed01d160424505535d1938b21bf3 - #4 " 0, "", "", _Unit]; 
_source setDropInterval 0.1;  
_source attachto [_Unit,[0,0,0]]; 

sleep 1; 

_Unit hideObjectGlobal true; "
22.12.2014 10:00:43: Calamity (174.58.107.56:55062) d77eed01d160424505535d1938b21bf3 - #14 "it", [13], "", -3, [["expression", ""]], "1", "1"]
];

showCommandingMenu "#USER:adminmenu";"
22.12.2014 10:16:40: Calamity (174.58.107.56:56592) d77eed01d160424505535d1938b21bf3 - #35 "elect 0;
if ("ItemGoldBar10oz" in magazines player) then{
createDialog "RecruitUnitsDialog";
} else {
SystemChat "You need one 1"
22.12.2014 15:38:52: Calamity (174.58.107.56:56104) d77eed01d160424505535d1938b21bf3 - #20 " 1];
_box1 addWeaponCargoGlobal ["Rollins_F", 1];
_box1 addMagazineCargoGlobal ["16Rnd_9x21_Mag", 4];
_box1 addMagazineCargoGlob"

Link to comment
Share on other sites

  • 1 month later...

German Translation

Were too lazy to Google AND too learn englisch ^^

 

 

Das ist nicht meine Anleitung!

 

Jeglicher Dank geht an ebay von opendayz.net und seinem original Post: http://opendayz.net/threads/a-guide-to-battleye-filters.21066/

 

Der original Post wird hier nur teilweise wiedergegeben. Um eine komplette Übersicht zu bekommen, lest den original Post.

Ich habe mich aus diversen Gründen dazu entschlossen, das Thema hier auf diese Weise nochmal wiederzugeben:

·         Ich kann die vielen Threads nicht mehr sehen, wenn Leute irgendein Script auf ihren Server machen und dann nach Hilfe     

           schreien, wenn sie einen BattlEye-Kick bekommen

·         Ich möchte sicherstellen, das die Leute lernen, wie sie ihren Server selbst administrieren und nicht immer wieder Hilfe von

          anderen benötigen– so wie es aussieht, ist das selbständige Nachjustieren der BE-Filter nur bedingt bekannt

Eine einfache Google-Suche stellt alles erforderliche Wissen zum Thema BE-Filter bereit.  (http://bit.ly/1DgDAAE) (http://lmgtfy.com/?q...ters for Arma 3)
 

Lange Rede, kurzer Sinn....

Also präsentiere ich euch hiermit:

 

Ebay’s: Anleitung zu BattlEye Filter

Ich habe ein großes Fehlwissen in Bezug auf BE-Filter in der ganzen Epoch und DayZ-Community festgestellt. Diese Anleitung soll einen Überblick über die Möglichkeiten der BE-Filter-Konfiguration geben.

Was sind diese BE-Filter:
BE Filter sind sozusagen ein Anti-Cheat-Tool für alle Arma Spiele. Sie bieten einen gewissen Schutz, der es jedoch Server-Admins und Mod-Entwickler erlaubt, diesen Schutz anzupassen. Im Moment ist Bastian ($able) der Einzige Herrausgeber von BE für Arma. Wie auch immer, Bohemia Enwickler wie zb.  Dwarden haben einige Ideen dazu beigetragen. Dwarden war auch derjenige, der die originalen DayZ-Filter gestaltet hat vor ein paar Jahren.

Mod-Entwickler stellen in der Regel Filter bereit, die für ihren Mod angepasst wurden. Hier ein paar Links zu den bekanntesten DayZ-Mods:

Infistar stellt ausserdem regelmässig aktuelle Filter bereit, die auf sein Antihack abgestimmt sind http://infistar.de/xtra.html. Die .txt Dateien gehören in den passenden Ordner: server config directory\BattlEye\ . Wer einen Root betreibt, sollte wissen wie und wo die Dateien eingefügt werden, wer einen Server gemietet hat, sollte dies via FTP machen können. Weitere Infos dazu erfragt bei eurem Server-Hoster.

Wie arbeiten die Filter:
BE durchsucht/scannt alle Scripte, die über den  client (scripts.txt) laufen und diversen command Parameter (other filters) nach Schlüsselwörtern, die in den Filter .txt Dateien aufgeführt sind. Wird dabei ein Treffer gelandet, passiert eines der folgenden Dinge, je nachdem, welche Zahlen in der entsprechenden Zeile am Anfang steht:

1 = Nur ein Log/Eintrag in der .log
2 = Nur ein Log/Eintrag in der Konsole
= Nur ein Log/Eintrag in beide
4 = Kick ohne Log/Eintrag
5 = Kick und Log in der  .log Datei
6 = Kick und Log in der Konsole
7 = Kick und Log in beide

Konsole bezieht sich auf das Fenster, das sich öffnet wenn ihr die arma.exe startet. Die Konsole zeigt immer alle Connects, Disconnects und Kick s an. Gespeichert wird das ganze in einer .txt Datei im Config-Ordner, vorrausgesetzt die Option logFile ist in der  server.cfg aktiviert. Ist man über Rcon angemeldet, sieht man diese Meldungen ebenfalls.

Der Eintrag in die .log ist empfehlenswert, weil unterschiedliche .log Dateien im \BattlEye\ Ordner für jede Einschränkung erstellt wird. Das macht das Nachvollziehen eines Eintrages leichter, da mehrere kleinere Dateien erstellt werden. Somit kann man gezielter suchen und muss nicht die riesige Log-Datei der Konsole durchsuchen.

Ein Log in die Konsole ist nur dann sinnvoll, wenn ein live stream von BE logs über Rcon gebraucht wird. Dies kann aber sehr schnell zu Performence-einbussen führen. Ausserdem überflutet damit Rcon und macht das Auslesen von z.b. Connect und Disconnect Einträge sehr schwer. Aus diesen Gründen ist ein Log in der Konsole nur dann empfehlenswert, wenn die Filter so eingestellt sind, das sie recht wenig Logs eintragen. Es sollte auch bedacht werden, Log-Einträge in der Konsole UND den .log Dateien verbraucht den doppelten Speicherplatz für die selben Informationen, eben nur an zwei verschiedenen Orten.


Zufügen von Schlüsselwörtern:
Bei einer neuen Zeile beginnt mit der gewünschten Option (Zahl), danach ein Leerzeichen und das Schlüsselwort:
5 Schlüsselwort

Enthält das Schlüsselwort ein oder mehrere Leerzeichen, muss es in Anführungszeichen gesetzt werden:
5 "Schlüssel Wort"

Wenn ein Schlüsselwort selbst Anführungszeichen enthält, muss vor jedem Anführungszeichen ein Schrägstrich gesetzt werden :
5 "Schlüssel \"Wort\""

Gleiches gilt für andere Sondersymbole wie ({}[]()^$.|*+?\) :
5 "Schlüssel \(Wort\)"

Beachte: Die einzige Ausnahme bildet hier die scripts.txt. Im Moment ist dies die einzige Datei, in der nur Anführungszeichen einen vorhergehenden \ brauchen.

Benutze wenn möglich immer Schlüsselwörter, die mehrere Sachen abdecken können. Beispiel: Du möchtest einen Kick für das Spawnen von HUMVEES einfügen in der createVehicle.txt Bevor du nun für jedes einzelne Modell einen Eintrag machst,..... also so z.B.:
5 HMMWV_DES_EP1
5 HMMWV_M1035_DES_EP1
5 HMMWV_Ambulance_DES_EP1
...


...ist es effizienter den Eintrag so zu wählen, das alle HUMVEES betroffen sind, nämlich so:
5 HMMWV_

Um alles zu blocken, einfach nur 2 "" eintragen oder leer lassen:
5 ""

Ausnahmen hinzufügen (ungewollte Kicks verhindern):
In der selben Linie ein Leerzeichen hinter dem Schlüsselwort machen und die Ausnahme mit einem != oder ! vorne dran eintragen:
5 Schlüsselwort !SchlüsselwortAusnahme

Ausnahmen folgen den selben Regeln wie Schlüsselwörter, enthalten sie Leerzeichen, müssen sie in "" gesetzt werden:
5 Schlüsselwort !"Schlüsselwort Ausnahme"

Und auch die \ vor Sonderzeichen wie ({}[]()^$.|*+?" und \):
5 Schlüsselwort !"Schlüsselwort \"Ausnahme\""

Beachte: Auch diese Regel gilt nicht in der scripts.txt.

Es gibt folgende 2 Optionen um Ausnahmen hinzu zufügen:
 

  • != Der Parameter muss exakt zur Ausnahme passen. In der scripts.txt muss das komplette Schlüsselwort (zb mit Sonderzeichen) exakt zur Ausnahme passen.
  • ! Der Parameter passt zur Ausnahme. In der scripts.txt muss das Schlüsselwort zur Ausnahme passen.

Z.B., wenn du das in deinem createvehicle.txt Filter stehen hast:
5 "HMMWV_" !"HMMWV_Ambulance"

Das nachfolgende Beispiel führt NICHT zum Kick weil das Beispiel die Ausnahme HMMWV_Ambulance im Namen trägt:
createVehicle ["HMMWV_Ambulance_DES_EP1",getPosATL player,[],10,"NONE"];

Dieses Beispiel führt zum Kick, weil HMMWV_DES nicht zu HMMWV_Ambulance passt:
createVehicle ["HMMWV_DES_EP1",getPosATL player,[],10,"NONE];

Wenn wir den Filter abändern und ein != einsetzen:
5 "HMMWV_" !="HMMWV_Ambulance"

Nun wird für beide oben genannte Beispiele gekickt, weil die exakte Schreibweise gefordert wird.

 

Der nachfolgende Code allerdings wird NICHT gekickt, weil er den exakten Wortlaut beinhaltet:
createVehicle ["HMMWV_Ambulance",getPosATL player,[],10,"NONE"];

 

In der scripts.txt werden Ausnahmen noch etwas schärfer behandelt. Steht das zb darin:
5 keyword !=keywordException

Wird der nachfolgende Code zum Kick führen, obwohl das Schlüsselwort eigentlich passt:
systemChat "keywordException";

Allerdings sind hier noch die " dabei und das umgehen wir dann so:
5 keyword !="systemChat \"keywordException\";"

Nun bekommt man keinen Kick mehr für den Code.

Beachte:
Angaben sollten in einer SQF eigentlich immer in EINER Zeile stehen, aber sie können sich auch über mehrere Zeilen ziehen. Z.B. die folgende Angabe funktioniert ohne Fehler, aber zieht sich über 4 Zeilen:

Code (Text):

if (2 > 1) then
{
    systemChat "keywordException"
};

Weil da kein Semicolon ; am Ende der Zeile systemChat ist, führt der Code immernoch zum Kick. Um das zu verhindern sollte der Code so geschrieben werden, das die Zeile mit systemChat ein Semikolon am Ende hat.

Alternativ kann man im Filter ein ! setzen anstelle von != Damit wiederum muss ja nur ein Teil der Ausnahme zutreffen...:
5 keyword !keywordException

Nun führen beide oben genannte Codes nicht mehr zum Kick.
Generell sollten Ausnahmen immer mit != eingetragen werden, sofern dies möglich ist. Ein ! allein erlaubt schon fast zuviel und könnte somit den Missbrauch begünstigen. Natürlich ist es etwas anderes, wenn es wie in dem Beispiel mit dem HMMWV in der
createvehicle.txt HMMWV_Ambulance oben Sinn macht. In diesem Beispiel waren wir mit einem ! effektiver um eben mehrere Classnames abzudecken. Es können noch viel mehr tolle Sachen mit Filtern erreicht werden, das würde aber hier zuweit ins Detail gehen. Um mehr darüber zu erfahren check this out.

Beachte: BE Filter beachten keine Groß/Kleinschreibung, aber Leerzeichen und Zeilenumbrüche.

 

Welche Zeile muss bearbeitet werden?

 

Das hier genannte Beispiel kann auf alle anderen Kicks angewendet werden. Man muss eben in den entsprechenden .log Dateien nachsehen und die passende Zeile herrausfinden (zb, #0 oder #42 usw)

In den BE Filtern ist die erste Zeile die Zeile 0 (#0). Alle Zeilen die mit // ausgeklammert sind, werden NICHT mitgezählt.

Also ist bei der Angabe #0 eigentlich Zeile 1 gemeint.

Demnach wäre #42 die Zeile 43 und so weiter

 

Beispiel: 

 

Hier eine Zeile aus der scripts.log:

07.12.2014 01:18:30: BetterDeadThanZed (IP DELETED) GUID DELETED - #20 "[] execVM "custom\messages\welcome.sqf";

Der Grund für den Kick ist also "[] execVM "custom\messages\welcome.sqf";

 

In der scripts.txt Datei gehen wir nun zur Zeile 21. So sieht die Zeile vor der Änderung aus:

7 exec !="<execute expression=" !"RscDebugConsole_execute" !"execFSM" !"_executeStackedEventHandler" !"fn_execVM" !"fn_moduleExecute" !"fn_execRemote" !"fn_MPexec" !"bis_fnc_moduleExecute_activate" !"fn_tridentExecute" !"randomize_civ1" !"executed from" !"EPOCH_DebugGUI_exec" !"_handle = [_display] execVM _script;" !"execVM \"\A3\Structures_F\scripts" !="execVM \"\A3\Structures_F_EPC\Civ\PlayGround\scripts\Carousel_spin.sqf\""

Hier ist die modifizierte Zeile, mit der Änderung am Ende:

7 exec !="<execute expression=" !"RscDebugConsole_execute" !"execFSM" !"_executeStackedEventHandler" !"fn_execVM" !"fn_moduleExecute" !"fn_execRemote" !"fn_MPexec" !"bis_fnc_moduleExecute_activate" !"fn_tridentExecute" !"randomize_civ1" !"executed from" !"EPOCH_DebugGUI_exec" !"_handle = [_display] execVM _script;" !"execVM \"\A3\Structures_F\scripts" !="execVM \"\A3\Structures_F_EPC\Civ\PlayGround\scripts\Carousel_spin.sqf\"" !=execVM "custom\welcome\welcome.sqf";"
Link to comment
Share on other sites

  • 2 months later...

"GERMAN ONLY"

 

Hallo zusammen,

 

ich versuche mich aktuell mit den BE-Filtern zu befassen. Problem: Oftmals sind die Fehlermeldungen aus der Log-File nicht so kurz. Daher habe ich Probleme, die Ausnahme vernünftig zu definieren.

Ich weiß also nicht, wie ich diese raus schreiben soll!

 

Hier mal ein aktuelles Problem mit dem Earplugscript:

 

Ich werde aus folgendem Grund gekickt:

 

 

20.04.2015 16:30:11: Headi (IP Removed) GUID Removed - #53 "EP_LOOP;};

 
[] spawn {cmKeyPress = (findDisplay 46) displayAddEventHandler ["KeyDown","if ((_this select 1) == cmEarplugs_hotke"

 

Das Problem hier sind die vielen Zeichen, dazu kommt noch ne Lehrzeile, und dann geht es erst weiter.

 

Wie müsste ich dieses Problem dann lösen? 

 

Müsste ich dann so rausschreiben?

 

 

 

"EP_LOOP;}; [] spawn {cmKeyPress = (findDisplay 46) displayAddEventHandler ["KeyDown","if ((_this select 1) == cmEarplugs_hotke"

 

Über eine Erklärung dazu wäre ich Dankbar!

 

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Discord

×
×
  • Create New...