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
Fr: 16 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

    Protestschild | Z-Item | Tutorial

      • Altis Life
    • Brizi Jaeger
    • 6. November 2016 um 15:32
    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 6. November 2016 um 15:32
      • #1

      Guten Tag,
      dies ist mein erstes Tutorial. Ich versuche dieses Tutorial einfach zu gestalten.

      Welche Versionen?
      4.4 - 4.5

      Was kann dieses Item?
      -> Man kauft sich z.B im Markt ein Protestschild und kann dies dann im Z Menü benutzen, dann bekommt man ein Protestschild in die Hand allerdings, kann man sich nicht bewegen damit man keine Spieler damit umbringt.

      Author?
      Mir ist leider kein Author bekannt da dieses Script auf unseren damaligen Server verwendet wurde und ich diese Datei noch im Müll gefunden hatte.

      Was braucht ihr zum einfügen dieses iTems?
      -> core/pmenu/useitem.sqf
      -> Config_vItems
      -> core/items
      -> stringtable
      -> Functions

      Fangen wir mal an :
      0. Öffnet den Functions Ordner und tragt bei iTems dies ein :

      Code
      class protestschild {};

      1. Öffnet im core/pmenu die useitem.sqf datei und fügt dort diesen Code unter den boltcutter :

      Code
      case (_item isEqualTo "protestschild"): {
       if ([false,"protestschild",1] call life_fnc_handleInv;) then {
       call life_fnc_protestschild;
       closeDialog 0;
       };
       };


      2. Öffnet die Config_vItems und fügt das iTem hinzu : fügt das iTem noch ganz oben in einem Shop hinzu damit ihr dies Ingame kaufen könnt

      Code
      class protestschild {
              variable = "protestschild";
              displayName = "protestschild";
              weight = 2;
              buyPrice = 175; //kaufpreis
              sellPrice = 135; //verkaufspreis
              illegal = false;
              edible = -1;
              icon = "";
          };

      3. Erstellt eine Datei mit dem Namen fn_protestschild.sqf mit diesem Inhalt und fügt die Datei in den core/items Ordner ein :

      Code
      [] spawn
      {
      	private ["_sign"];
      
      
      
      
      	if(!(vehicle player == player)) exitWith {hint format["Dies ist im Auto nicht möglich.",name player]};
      	[false,"protest",1] call life_fnc_handleInv;
      	if (animationState player == "amovpercmstpsnonwnondnon_salute") then
      	{
      		_sign = "Land_Poster_04_F" createVehicle [0,0,0];
      		_sign attachTo [player, [0,0,0.6], "righthand"];
      		_sign setVectorUp [0,90,-1];
      
      
      
      
      		
      
      
      
      
      		waitUntil{(!(animationState player == "amovpercmstpsnonwnondnon_salute")) or !alive player};
      
      
      
      
      		deleteVehicle _sign;
      		[true,"protest",1] call life_fnc_handleInv;
      	} else 
      	{
      
      
      
      
      	player action ["SwitchWeapon", player, player, 100];
      
      
      
      
      	waitUntil{animationState player == "amovpercmstpsnonwnondnon"};
      
      
      
      
      	player playAction "Salute";
      
      
      
      
      	_sign = "Land_Poster_04_F" createVehicle [0,0,0];
      	_sign attachTo [player, [0,0,0.6], "righthand"];
      	_sign setVectorUp [0,90,-1];
      
      
      
      
      	sleep 1;
      
      
      
      
      	waitUntil{(!(animationState player == "amovpercmstpsnonwnondnon_salute")) or !alive player};
      
      
      
      
      	deleteVehicle _sign;
      	[true,"protest",1] call life_fnc_handleInv;
      	};
      };
      Alles anzeigen

      4. Öffnet die Stringtable im Hauptordner und schreibt dort dies rein wo ihr alle iTems findet :

      Code
      <Key ID="protestschild">
           <Original>Protestschild</Original>
           <German>Protestschild</German>
      </Key>

      Einmal editiert, zuletzt von Brizi Jaeger (24. Februar 2017 um 23:56)

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 6. November 2016 um 15:42
      • #2

      Hört sich ganz witzig an ^^
      Die Revolution auf den Inseln mag beginnen

      Spoiler anzeigen

      Ich frage mich nur, warum nutzt du einen format Befehl, obwohl der garnicht genutzt wird?

      Zitat von Brizi01

      if(!(vehicle player == player)) exitWith {hint format["Dies ist im Auto nicht möglich.",name player]};

      :D
      Sehe das bitte nicht als böse Kritik an

      Wenn ich etwas missverstanden habe, hoppala

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 6. November 2016 um 15:44
      • #3
      Zitat von Rom

      Hört sich ganz witzig an ^^
      Die Revolution auf den Inseln mag beginnen

      Spoiler anzeigen

      Ich frage mich nur, warum nutzt du einen format Befehl, obwohl der garnicht genutzt wird?

      :DSehe das bitte nicht als böse Kritik an

      Ich hatte dort vorher schon das mit dem Namen stehen nur fand dies nen bissl unnötig :D
      PS : Hab diesen Befehl wieder eingebaut :D

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 6. November 2016 um 16:28
      • #4

      Kleine Verbesserungen:

      Punkt 1: bitte diesen Code verwenden: (Wegen Missbrauch etc)

      C
      case (_item isEqualTo "protestschild"): {
      	if ([false,"protestschild",1] call life_fnc_handleInv;) then {
      		call life_fnc_protestschild;
      		closeDialog 0;
      	};
       };

      Punkt 3: Diesen Code:

      C
      /*
          File: fn_protestschild.sqf
      	Author: Brizi01
      	Optimized & Edited by: blackfisch
      	Description:
      	[DE]  Bearbeitet die Aktionen für das Protestschild - veröffentlicht auf Native-Network.net
      	Es ist erlaubt dieses Script zu bearbeiten und zu adaptieren, der Header muss erhalten und darf nicht entfernt werden!
      	[EN]  Handles the actions for the protest sign - released on Native-Network.net
      	You are allowed to adapt and modify this script, but the header has to remain untouched and can not be removed!
      */
      
      
      
      
      if (!isNull objectParent player) exitWith { hint format["Protestschild aus dem Auto halten? Nein lieber %1!",profileName]; }; //only outside of vehicles | nur außerhalb von Fahrzeugen
      if (!isNil "life_signActive" || life_signActive) exitWith { hint "Du trägst bereits ein Schild!"; }; //only one sign allowed | nur ein Schild gleichzeitig
      life_signActive = true; //Debug
      
      
      
      
      player action ["SwitchWeapon", player, player, 100]; //holster Weapon | Waffe holstern
      if !(animationState player isEqualTo "amovpercmstpsnonwnondnon_salute") then { //only when not saluting | nur wenn er noch nicht salutiert
      	player playAction "Salute"; //make player Salute (hand up) | Spieler salutieren lassen (Hand nach oben)
      };
      private _sign = "Land_Poster_04_F" createVehicle [0,0,0]; //spawn the sign | das Schild spawnen
      _sign attachTo [player, [0,0,0.6], "righthand"]; //attach to hand | in die and geben
      _sign setVectorUp [0,90,-1]; //turn it right | richtig herum drehen
      0 spawn {
      	waitUntil{sleep 1; !(animationState player isEqualTo "amovpercmstpsnonwnondnon_salute") || {!alive player}}; //wait until not saluting or dead | warten bis nicht mehr salutierend oder tot
      	life_signActive = false; //Debug
      	deleteVehicle _sign; //Schild löschen
      };
      Alles anzeigen

      (kannst du gerne ins Tut übernehmen. Ist so einfasch schneller und performanter - siehe: [Erklärung|Leitfaden] Arma 3 Code Optimierung und ich hab etwas Debugging eingefügt ^^)

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

      Einmal editiert, zuletzt von blackfisch (25. Februar 2017 um 20:40)

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 6. November 2016 um 16:38
      • #5

      @Blackfish habs mal so geändert :D Danke

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 6. November 2016 um 16:41
      • #6

      Gerne doch ^^ Kleiner hinweis: in der 4.0 gibt's die Config_vItems.hpp noch nicht, da ist das in der Config_Master.hpp mit drin. Und bis auf den Teil ist das auch komplett auf alle anderen Versionen und Modi übertragbar.

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 29. Dezember 2016 um 08:22
      • #7

      Der Author davon war SBuserHy der hier im Forum lange Zeit aktiv war und es hier auch veröffentlicht hatte.

      MfG

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • heyy519
      Anfänger
      Trophäen
      9
      Beiträge
      76
      • 24. Februar 2017 um 11:17
      • #8

      not work !!

    • Troublemaker2_0
      Schüler
      Reaktionen
      30
      Trophäen
      9
      Beiträge
      87
      • 24. Februar 2017 um 12:00
      • #9

      Or you did it wrong, please show your logs and don't only write "not work!!".

    • heyy519
      Anfänger
      Trophäen
      9
      Beiträge
      76
      • 24. Februar 2017 um 12:11
      • #10
      Zitat von xHaraldx

      Or you did it wrong, please show your logs and don't only write "not work!!".


      ı use 4.4R4 VERSİON

      ım copy paste the code and not work code is not work maybe
      I'm sure it made it smooth

      ERROR CODE: if (!isNull objectParent player)) exitWith { hint format["Protestschild aus dem Auto halten? Nein lieber %1!",profileName]; }; //only outside

      FİXED CODE: if (!isNull objectParent player) exitWith { hint format["Protestschild aus dem Auto halten? Nein lieber %1!",profileName]; }; //only outside

      blackfisch and Birizi01 correct topic please You Are mistakenly wrote

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 24. Februar 2017 um 16:15
      • #11

      This Script works. I have the same Script on my Server.

    • mekikle
      Frischling
      Trophäen
      9
      Beiträge
      8
      • 25. Februar 2017 um 20:24
      • #12

      Can you Share the Screen Display?

    • FieserGemeinling
      Frischling
      Trophäen
      9
      Beiträge
      5
      • 1. März 2017 um 00:46
      • #13

      Huhu,

      ich hab dieses Tutorial für meinen 4.4r4 eins zu eins mal "blind" übernommen. Das Schild lässt sich kaufen aber nicht benutzen. Erhalte in der Client-Log folgenden Error :

      Spoiler anzeigen

      Error in expression <rotestschild",1] call life_fnc_handleInv;) then {
      call life_fnc_protestschild;

      c>

      Error position: <;) then {
      call life_fnc_protestschild;

      c>

      Error Missing )

      File mpmissions\__CUR_MP.Altis\core\pmenu\fn_useItem.sqf, line 37

      da hat sich in der fn_useItem.sqf in der Zeile " if ([false,"protestschild",1] call life_fnc_handleInv;) then { " ein ; eingeschlichen. Dieses weglassen, dann geht auch das benutzen.

      Wollte das mal dalassen, falls es anderen auch so ergehen sollte.

      Liebe Grüße

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 1. März 2017 um 00:57
      • #14

      Zeig mal die ensprechende Datei bitte

      ReallifeRPG Admin, Scripter, Technischer Helfer, und Manchmal auch Spieler

      realliferpg128x128.png?resize=128%2C128&ssl=1

    • FieserGemeinling
      Frischling
      Trophäen
      9
      Beiträge
      5
      • 1. März 2017 um 01:13
      • #15

      Hey br1zey,

      dazu brauch ich dir doch nicht meine fn_useitem.sqf posten.

      Code
      case (_item isEqualTo "protestschild"): {
       if ([false,"protestschild",1] call life_fnc_handleInv;) then {
       call life_fnc_protestschild;
       closeDialog 0;
       };
       };

      das soll man nach deinem Tutorial so in die useitem eintragen. Wodurch es aber einen Fehler ausgibt und das Protestschild nicht benutzbar macht. Nachdem man aber das ; rauslöscht, ist der Fehler weg und das Item lässt sich auch benutzen. (Version 4.4R4)

      Zur Vollständigkeit und weil du halt danach gefragt hast hier meine fn_useItem.sqf

      Spoiler anzeigen
      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_useItem.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Main function for item effects and functionality through the player menu.
      */
      private "_item";
      disableSerialization;
      if ((lbCurSel 2005) isEqualTo -1) exitWith {hint localize "STR_ISTR_SelectItemFirst";};
      _item = CONTROL_DATA(2005);
      
      switch (true) do {
          case (_item in ["waterBottle","coffee","redgull"]): {
              if ([false,_item,1] call life_fnc_handleInv) then {
                  life_thirst = 100;
                  if (LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1) then {player setFatigue 0;};
                  if (_item isEqualTo "redgull" && {LIFE_SETTINGS(getNumber,"enable_fatigue") isEqualTo 1}) then {
                      [] spawn {
                          life_redgull_effect = time;
                          titleText[localize "STR_ISTR_RedGullEffect","PLAIN"];
                          player enableFatigue false;
                          waitUntil {!alive player || ((time - life_redgull_effect) > (3 * 60))};
                          player enableFatigue true;
                      };
                  };
              };
          };
      
          case (_item isEqualTo "boltcutter"): {
              [cursorObject] spawn life_fnc_boltcutter;
              closeDialog 0;
          };
      
          case (_item isEqualTo "protestschild"): {
              if ([false,"protestschild",1] call life_fnc_handleInv) then {
              call life_fnc_protestschild;
              closeDialog 0;
              };
          };
          
          case (_item isEqualTo "blastingcharge"): {
              player reveal fed_bank;
              (group player) reveal fed_bank;
              [cursorObject] spawn life_fnc_blastingCharge;
              closeDialog 0;
          };
      
          case (_item isEqualTo "defusekit"): {
              [cursorObject] spawn life_fnc_defuseKit;
              closeDialog 0;
          };
      
          case (_item isEqualTo "storagesmall"): {
              [false] call life_fnc_storageBox;
          };
      
          case (_item isEqualTo "storagebig"): {
              [true] call life_fnc_storageBox;
          };
      
          case (_item isEqualTo "spikeStrip"): {
              if (!isNull life_spikestrip) exitWith {hint localize "STR_ISTR_SpikesDeployment"; closeDialog 0};
              if ([false,_item,1] call life_fnc_handleInv) then {
                  [] spawn life_fnc_spikeStrip;
                  closeDialog 0;
              };
          };
      
          case (_item isEqualTo "fuelFull"): {
              if (vehicle player != player) exitWith {hint localize "STR_ISTR_RefuelInVehicle"};
              [] spawn life_fnc_jerryRefuel;
              closeDialog 0;
          };
      
          case (_item isEqualTo "fuelEmpty"): {
              [] spawn life_fnc_jerrycanRefuel;
              closeDialog 0;
          };
      
          case (_item isEqualTo "lockpick"): {
              [] spawn life_fnc_lockpick;
              closeDialog 0;
          };
      
          case (_item in ["apple","rabbit","salema","ornate","mackerel","tuna","mullet","catshark","turtle_soup","hen","rooster","sheep","goat","donuts","tbacon","peach"]): {
              if (!(M_CONFIG(getNumber,"VirtualItems",_item,"edible") isEqualTo -1)) then {
                  if ([false,_item,1] call life_fnc_handleInv) then {
                      _val = M_CONFIG(getNumber,"VirtualItems",_item,"edible");
                      _sum = life_hunger + _val;
                      switch (true) do {
                          case (_val < 0 && _sum < 1): {life_hunger = 5;}; //This adds the ability to set the entry edible to a negative value and decrease the hunger without death
                          case (_sum > 100): {life_hunger = 100;};
                          default {life_hunger = _sum;};
                      };
                  };
              };
          };
      
          default {
              hint localize "STR_ISTR_NotUsable";
          };
      };
      
      [] call life_fnc_p_updateMenu;
      [] call life_fnc_hudUpdate;
      Alles anzeigen
    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 1. März 2017 um 13:11
      • #16

      Ich habe es ja selber auf der 4,4r4 am Laufen, und es klappt wie gesagt noch. Gucke später nochmal nach :d

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 8. April 2017 um 11:50
      • #17

      Huhu Brizi Jaeger

      Ich teste gerade Tutorials für 5.0

      Just for Fun ;)

      Aber die useitem stresst auch bei mir ;)

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 8. April 2017 um 12:29
      • #18

      Es hat sich doch aber eigentlich von der 4.4r3 nicht viel geändert auf die 5.0 das es nicht funktionieren würde oder sind da wieder Codes anders?

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. April 2017 um 12:43
      • #19

      4.4r3 ist Vorgänger zu 4.4r4 == 5.0.0 -> Das läuft definitiv :p

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 8. April 2017 um 13:25
      • #20
      Zitat von blackfisch

      4.4r3 ist Vorgänger zu 4.4r4 == 5.0.0 -> Das läuft definitiv :p

      trotzdem stresst die useitem du butterbirne :D

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Benutzer online in diesem Thema

    • 1 Besucher

    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. Verhaltensregeln
    3. Datenschutzerklärung
    4. Impressum
    5. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™