1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Di: 20 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Tutorials & Releases

    [Tutorial] Knebeln [V3.1.4.8|V4.0]

      • Altis Life
    • Florian
    • 15. August 2015 um 00:44
    • Florian
      Anfänger
      Reaktionen
      13
      Trophäen
      11
      Beiträge
      44
      • 15. August 2015 um 00:44
      • #1

      Guten Morgen NG Community,

      hier ein kleines Tutorial damit der SM Spaß auf eurem Server nicht zu kurz kommt :D

      Ich habe das Tutorial aus AltisLife RPG übersetzt, d.h ich bin nicht der Autor.

      Also los gehts

      1. Altis Life 4.0 geht in eure Config_Master.hpp


      Brainfuck
      VITEMMACRO(gagkit, "STR_Item_GagKit", "gagkit", 10, 7500, -1, false, -1, "")

      und fügt das oben stehende ein.

      danach geht ihr in eure stringtable.xml und fügt das ein

      Spoiler anzeigen


      <Key ID="STR_Item_GagKit">
      <Original>Gag Kit</Original>
      <German>Knebel Bausatz</German>
      <French>Kit de baillonement</French>
      </Key>

      1. Altis Life 3.1.4.8 geht in eure configuration.sqf

      Brainfuck
      life_inv_gagkit

      und fügt das Obenstehende ein. (Achtet auf die Kommasetzung!)

      danach geht ihr in eure fn_varhandle.sqf

      Brainfuck
      case "gagkit": {"life_inv_gagkit"};
      
      
      
      
      
      
      
      
      
      
      case "life_inv_gagkit": {"gagkit"};
      Alles anzeigen

      und fügt das Obenstehende erste bei case 1 und das zweite bei case 2 ein.

      danach geht ihr in eure fn_vartostr.sqf

      Brainfuck
      case "life_inv_gagkit": {"Mundfessel"};


      und fügt das Obenstehende ein

      2. Geht in eure fn_setupactions.sqf und fügt

      Brainfuck
      V4.0
      //GagKit Player
      	life_actions = [player addAction["<t color='#800000'>Ruhigstellen</t>",life_fnc_gagAction,"",0,false,false,"",'
      	!isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && !(cursorTarget GVAR["gagged",FALSE]) && life_inv_gagkit > 0']];
      
      
      
      
      	//Remove Gag from player.
      	life_actions = [player addAction["<t color='#800000'>Mundfessel entfernen</t>",life_fnc_removeGagAction,"",0,false,false,"",'
      	!isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && (cursorTarget GVAR["gagged",FALSE])']];
      
      
      
      
      V3.1.4.8
      
      
      
      
      //GagKit Player
      	life_actions = [player addAction["<t color='#800000'>Ruhigstellen</t>",life_fnc_gagAction,"",0,false,false,"",'
      	!isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && !(cursorTarget getVariable["gagged",FALSE]) && life_inv_gagkit > 0']];
      
      
      
      
      	//Remove Gag from player.
      	life_actions = [player addAction["<t color='#800000'>Mundfessel entfernen</t>",life_fnc_removeGagAction,"",0,false,false,"",'
      	!isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && (cursorTarget getVariable["gagged",FALSE])']];
      Alles anzeigen

      das oben stehende bei class civilianund beiclass cop ein


      3. Erstellt folgende Datei namens fn_gagAction.sqf und speichert diese in dem actions Ordner

      Brainfuck: fn_gagAction.sqf
      /*
              File: fn_gagAction.sqf
              Author: lowheartrate
      
              Description:
              Gags the target.
      */
      private["_unit"];
      _unit = cursorTarget;
      if(isNull _unit) exitWith {}; // Not Valid
      if(life_inv_gagkit < 1) exitWith {hint "Du hast keine Mundfessel"};
      if((player distance _unit > 3)) exitWith {};
      if((_unit getVariable "gagged")) exitWith {};
      if(side _unit == west) exitWith {};
      if(player == _unit) exitWith {};
      if(!isPlayer _unit) exitWith {};
       
      _unit setVariable["gagged",true,true];
       
      //Make the unit (cursorTarget) call this script which will hint them they have been gagged, do the gagging etc.
      //Player added to [] so that we can bring it over to the gagged script with _VARNAME = _this select 0; 
      //This will selec the player of this script which is the gagger and we can define it in the gagged script.
      [[player],"life_fnc_gagged",_unit,false] spawn life_fnc_MP;
      
      
      
      
      //Hint the player thats gagging the person that they have gagged the name of the unit.
      hint format["Du hast %1 ruhig gestellt.", _unit getVariable["realname",_unit]];
      
      
      
      
      //Remove the gagkit from the player
      life_inv_gagkit = life_inv_gagkit - 1;
      Alles anzeigen

      4. Danach erstellt ihr diese Datei fn_gagged.sqf und speichert diese in dem actions Ordner

      Brainfuck: fn_gagged.sqf
      /*
      	File: fn_gagged.sqf
      	Author: lowheartrate
      	Assistance by: Panda
      
      	Description:
      	What happens to the player when gagged.
      */
      private["_gagger"];
      _gagger = param[0,ObjNull,[ObjNull]];
      hint format["Du wurdest von %1 ruhig gestellt.", _gagger getVariable["realname",_gagger]];
      titleText ["Da du ruhig gestellt wurdest kannst du nicht mehr sprechen!", "PLAIN"];
      5 enableChannel false;
      //Disable Group Chat
      3 enableChannel false;
      //Disable Vehicle Chat
      4 enableChannel false;
      //Disable Side Chat
      7 enableChannel false;
      waitUntil{!(player getVariable ["gagged",false]) OR !(player getVariable ["restrained",false])};
      hint "Du wurdest befreit du kannst nun wieder sprechen!";
      titleText ["Du wurdest berfreit!", "PLAIN"];
      5 enableChannel true;
      3 enableChannel true;
      4 enableChannel true;
      7 enableChannel true;
      Alles anzeigen

      5. Nun erstellt ihr folgende Dateifn_removegagaction.sqf und speichert diese in dem actions Ordner

      Brainfuck: fn_removeGagAction.sqf
      /*
          File: fn_removeGagAction.sqf
          Author: lowheartrate
      	Assistance by: Panda
      
          Description:
          Removes the gag from the player.
      */
      private["_unit"];
      _unit = cursorTarget;
      if(isNull _unit) exitWith {};
      if(!(_unit getVariable "gagged")) exitWith {};
      if(player == _unit) exitWith {};
      if(!isPlayer _unit) exitWith {};
      
      
      
      
      _unit setVariable["gagged",false,true];
      Alles anzeigen

      6. Zum Schluss schreibt ihr die Datein in die functions.h


      Code
      class gagAction {};
      class gagged {};
      class removeGagAction {};

      unter class actions


      So das wars schon bei Fragen einfach Fragen!

      5 Mal editiert, zuletzt von Florian (15. August 2015 um 14:08)

    • Motombo
      Fortgeschrittener
      Reaktionen
      177
      Trophäen
      11
      Beiträge
      307
      • 15. August 2015 um 00:48
      • #2

      Jetzt steht da ja doch was :D

      Einmal editiert, zuletzt von Motombo (15. August 2015 um 11:09)

    • neonpipe
      Anfänger
      Reaktionen
      3
      Trophäen
      11
      Beiträge
      63
      • 15. August 2015 um 01:35
      • #3

      Was macht das.. verstehe es nicht lol

    • SuN
      Anfänger
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      84
      • 15. August 2015 um 01:42
      • #4

      Wenn ich es richtig verstehe kannst du so Personen per SMS Muten, sprich sie können dir keine SMS schreiben oder sonstiges.

      Sollte es falsch sein, dann bitte ich um Entschuldigung. :o

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 15. August 2015 um 07:27
      • #5

      damit können die Leute einfach nicht mehr sprechen. In den jeweiligen channeln.
      Aber nicht per SMS :D

      mfg Risk

      https://www.twitch.tv/theriskarma

    • patzschi
      Frischling
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      15
      • 15. August 2015 um 13:52
      • #6

      Kann es sein das ich das GVAR bei der Version 3.1.4.8 in getVariable umchreiben muss?

      Spoiler anzeigen

      //GagKit Player
      life_actions = [player addAction["<t color='#800000'>Ruhigstellen</t>",life_fnc_gagAction,"",0,false,false,"",'
      !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && !(cursorTarget GVAR["gagged",FALSE]) && life_inv_gagkit > 0']];

      //Remove Gag from player.
      life_actions = [player addAction["<t color='#800000'>Mundfessel entfernen</t>",life_fnc_removeGagAction,"",0,false,false,"",'
      !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && (cursorTarget GVAR["gagged",FALSE])']];

    • Florian
      Anfänger
      Reaktionen
      13
      Trophäen
      11
      Beiträge
      44
      • 15. August 2015 um 14:06
      • #7
      Zitat von patzschi

      Kann es sein das ich das GVAR bei der Version 3.1.4.8 in getVariable umchreiben muss?

      Spoiler anzeigen

      //GagKit Player
      life_actions = [player addAction["<t color='#800000'>Ruhigstellen</t>",life_fnc_gagAction,"",0,false,false,"",'
      !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && !(cursorTarget GVAR["gagged",FALSE]) && life_inv_gagkit > 0']];

      //Remove Gag from player.
      life_actions = [player addAction["<t color='#800000'>Mundfessel entfernen</t>",life_fnc_removeGagAction,"",0,false,false,"",'
      !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && (cursorTarget getVariable["restrained",FALSE]) && (cursorTarget GVAR["gagged",FALSE])']];

      Tatsache, wird geändert :D Ich habs bei mir mitn Interaction Menu gelöst :D

    • patzschi
      Frischling
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      15
      • 15. August 2015 um 14:10
      • #8

      Kannst du das mit dem InteraktionsMenu noch deinem Tutorial anhängen? Werden sich sicher viele freuen! hail

    • Florian
      Anfänger
      Reaktionen
      13
      Trophäen
      11
      Beiträge
      44
      • 15. August 2015 um 15:44
      • #9
      Zitat von patzschi

      Kannst du das mit dem InteraktionsMenu noch deinem Tutorial anhängen? Werden sich sicher viele freuen! hail


      Kla aber erst später :D

    • Florian
      Anfänger
      Reaktionen
      13
      Trophäen
      11
      Beiträge
      44
      • 15. August 2015 um 18:57
      • #10

      Erweiterung mit dem Interaction Menu:


      Insofern ihr einen freien Button habt könnt ihr das in eure fn_civinteractionmenu.sqf und fn_copinteractionmenu.sqf einfügen


      Brainfuck
      //gag player
      if((_curTarget getVariable["gagged",false])) then {
      _Btn6 ctrlSetText localize "STR_pInAct_gag";
      _Btn6 buttonSetAction "[life_pInact_curTarget] call life_fnc_gagAction; [life_pInact_curTarget] call life_fnc_civInteractionMenu;";
      } else {
      _Btn6 ctrlSetText localize "STR_pInAct_gagdel";
      _Btn6 buttonSetAction "[life_pInact_curTarget] call life_fnc_removeGagAction; closeDialog 0;";


      Aktuell ist es _Btn6 ihr müsst es halt an eurem Button anpassen ggf. einen neuen erstellen

      Noch die neuen Stringtable einträge


      Brainfuck: stringtable.xml
      <Key ID="STR_pInAct_gag">
      			<Original>Ruhigstellen</Original>
      			<German>Ruhigstellen</German>
      			<French>Déposer pour le gang</French>
      			<Italian>Deposita alla Gang</Italian>
      			<Portuguese>Depositar para a Gangue</Portuguese>
      		</Key>
      		<Key ID="STR_pInAct_gagdel">
      			<Original>Mundfessel entfernen</Original>
      			<German>Mundfessel entfernen</German>
      			<French>Déposer pour le gang</French>
      			<Italian>Deposita alla Gang</Italian>
      			<Portuguese>Depositar para a Gangue</Portuguese>
      		</Key>
      Alles anzeigen
    • patzschi
      Frischling
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      15
      • 15. August 2015 um 20:41
      • #11

      So habe jetzt das Tutorial mal getestet, und es funktioniert bei mir nicht, wenn ich ihn Fessel, habe ich nicht mal eine Auswahl um ihn Ruhigzustellen.

      Was habe ich verkehrt gemacht?

    • Florian
      Anfänger
      Reaktionen
      13
      Trophäen
      11
      Beiträge
      44
      • 15. August 2015 um 21:18
      • #12
      Zitat von patzschi

      So habe jetzt das Tutorial mal getestet, und es funktioniert bei mir nicht, wenn ich ihn Fessel, habe ich nicht mal eine Auswahl um ihn Ruhigzustellen.

      Was habe ich verkehrt gemacht?

      Keinen freien Button mehr?

    • patzschi
      Frischling
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      15
      • 15. August 2015 um 23:27
      • #13

      Nein habe es immernoch auf dem Mausrad

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ähnliche Themen

    • Muteitem Skriptfrage

      • NiceKype
      • 21. März 2017 um 21:21
      • Hilfeforum

    Tags

    • Altis Life 3.1.4.8
    • altis life tutorial
    • Altis life 4.0
    • altis life tutorials
    • 3.1.4.8
    • knebeln
    • altis life knebeln
    • fesseln
    • 4.0
    • altis life fesseln

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™