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
Do: 03 Juli 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

    Schiffswrack 5.0

      • Altis Life
    • AmaZiinG
    • 9. September 2017 um 16:21
    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 9. September 2017 um 16:21
      • #1

      Autor:RYN_Ryan

      Edit by Deadongaming

      1. Ladet euch den Schiffswrack Ordner herunter und fügt den Ordner unter life_server\functions ein

      2. Geht in die Init.sqf im life_server und schreibt ganz unten folgendes rein:

      Code
      [] execVM "\life_server\Functions\Schiffswrack\fn_generateschiffwrackAuto.sqf";

      3. Geht jetzt in eure mpmisson und ersetzt folgenden case in eurem keyHandler.sqf

      Code
      case 20: {        
              if(!_alt && !_ctrlKey) then    {            
                  if(vehicle player != player && alive vehicle player) then {                
                      if((vehicle player) in life_vehicles) then {                    
                          [vehicle player] spawn life_fnc_openInventory;
                      };            
                  } else {                
                      if((cursorTarget isKindOf "Land_Wreck_Traw_F" OR cursorTarget isKindOf "Land_Wreck_Traw2_F" OR cursorTarget isKindOf "Car" OR cursorTarget isKindOf "Air" OR cursorTarget isKindOf "Ship" OR cursorTarget isKindOf "House_F") && player distance cursorTarget < 10 && vehicle player == player && alive cursorTarget) then
                  {                    
                  if(cursorTarget in life_vehicles OR 
                  {
                      !(cursorTarget getVariable ["locked",true])}) then    
                      { 
                          [cursorTarget] spawn life_fnc_openInventory;
                      };                    
                          if (cursorTarget isKindOf "Land_Wreck_Traw_F" OR cursorTarget isKindOf "Land_Wreck_Traw2_F") then 
                          {    
                              [cursorTarget] spawn life_fnc_openInventory;
                          };
                      };
                  };
              };    
          };
      Alles anzeigen

      4. Sucht jetzt die fn_broadcast.sqf und ersetzt den Inhalt mit diesem Code hier:

      Code
      /*
          File: fn_broadcast.sqf    Author: Bryan "Tonic" Boardwine        
              Description:    Broadcast system used in the life mission for multi-notification purposes.
      */
              
              private["_type","_message"];
              _type = [_this,0,0,[[],0]] call BIS_fnc_param;_message = [_this,1,"",[""]] call BIS_fnc_param;_localize = [_this,2,false,[false]] call BIS_fnc_param;if(_message == "") exitwith {};
              if(_localize) exitWith {    _arr = _this select 3;
              _msg = switch(count _arr) do {        
              
                  case 0: {localize _message;};        
                  case 1: {format[localize _message,_arr select 0];};        
                  case 2: {format[localize _message,_arr select 0, _arr select 1];};        case 3: {format[localize _message,_arr select 0, _arr select 1, _arr select 2];};        
                  case 4: {format[localize _message,_arr select 0, _arr select 1, _arr select 2, _arr select 3];};
                  };        
                  if(typeName _type == typeName []) then 
                  {
                  for "_i" from 0 to (count _type)-1 do        
                  {            switch((_type select _i)) do            
                  {                
                  
                  case 0: {systemChat _msg;};                
                  
                  case 1: {hint _msg;};                
                  case 2: {titleText[_msg,"PLAIN"];};
                  };
                  };
                  } else {
                  switch (_type) do
                  {            
                  
                  case 0: {systemChat _msg;};            
                  case 1: {hint _msg;};            
                  case 2: {titleText[_msg,"PLAIN"];};        };    };};if(typeName _type == typeName []) then{    for "_i" from 0 to (count _type)-1 do    {        switch((_type select _i)) do        {            
                  
                  case 0: {systemChat _message};            
                  case 1: {hint format["%1", _message]};            
                  case 2: {titleText[format["%1",_message],"PLAIN"];};            
                  
                  case 5: {hint parseText format["%1", _message]};        };    };}    else{    switch (_type) do    {        
                  
                  case 0: {systemChat _message};        
                  case 1: {hint format["%1", _message]};        
                  case 2: {titleText[format["%1",_message],"PLAIN"];};        
                  case 5: {hint parseText format["%1", _message]};    };};
      Alles anzeigen

      5. Fügt folgendes in eure fn_useItem.sqf ein:

      Code
      case (_item == "uwsl"): {                
              _OBJ = nearestObject [player, "Land_Wreck_Traw_F"];                
              if (_OBJ==objNull) then 
              {
                  _OBJ = nearestObject [player, "Land_Wreck_Traw2_F"];
              };    
          
          if (("Land_Wreck_Traw_F" == typeOf _OBJ) OR ("Land_Wreck_Traw2_F" == typeOf _OBJ)&&(player distance _OBJ < 30)) then {                        
              if (!([false,_item,1] call life_fnc_handleInv)) exitWith {
                  hint "Error: Object not found";
              };
      
                  _ship = _OBJ getVariable "opened";            
                  _ship_obj = _OBJ;            
                  if (_ship) then 
                      {
                          hint "Das Schiff wurde bereits geoeffnet!"
                      };            
      
              if (!_ship) then {
                  hint "The charge has been planted! Get away from the shipwreck!"; 
                  playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", _ship_obj]; 
                      sleep 10;    
                  "M_NLAW_AT_F" createVehicle [getPos _ship_obj select 0, getPos _ship_obj select 1, 0]; 
                  schiffwoffen = true; 
                  publicVariableServer "schiffwoffen";            
              };            
          };    
      };
      Alles anzeigen

      6. Sucht die  fn_openInventory.sqf und sucht diesen Code:

      Code
      if(isNull _vehicle OR !(_vehicle isKindOf "Car" OR _vehicle isKindOf "Air" OR _vehicle isKindOf "Ship" OR _vehicle isKindOf "House_F" OR _vehicle isKindOF "Box")) exitWith {}; //Either a null or invalid vehicle type.

      ersetzten durch:

      Code
      if(isNull _vehicle OR !(("Land_Wreck_Traw_F" == typeOf _vehicle) OR ("Land_Wreck_Traw2_F" == typeOf _vehicle) OR _vehicle isKindOf "Car" OR _vehicle isKindOf "Air" OR _vehicle isKindOf "Ship" OR _vehicle isKindOf "House_F" OR _vehicle isKindOF "Box")) exitWith {}; 

      7. Nun müsst ihr nur noch ein Item erstellen in der Config_vItems.hpp

      Code
      class uwsl {
              variable = "uwsl";
              displayName = "STR_Item_uwsl";
              weight = 2;
              buyPrice = 7600;
              sellPrice = 4300;
              illegal = false;
              edible = -1;
              icon = "Underwaterexplosive";
          };

      Fertig !

      Dateien

      Schiffswrack.zip 1,8 kB – 705 Downloads

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 10. September 2017 um 14:07
      • #2

      Wieder ein Tutorial das ich komplett übersehen habe, gibt es dazu Bilder/Videos oder sowas? Habe kein Interesse mehr an Arma 3 Scripting, aber vielleicht für andere User :)

    • GenApophis
      Fortgeschrittener
      Reaktionen
      49
      Trophäen
      10
      Beiträge
      303
      • 11. September 2017 um 11:46
      • #3

      Hi AmaZiinG,

      warum soll ich die ganze fn_broadcast ersetzen wenn ich einfach nur in den letzten beiden switches den case 5 hinzuzufügen????

      in der fn_generateschiffwrackauto.sqf scheint mir in den Zeilen 59 & 60 ein ausgrau fehler zu sein, da einmal in Zeile 59 _dasWrack setVariable ["opened",true,true]; mit ausgegraut wird und in Zeile 60 _lootAmount = schiffsw_loot_amount; oder sehe ich hier was falsch????

      8o:?:

      GA Gaming Community

      TS3.GA-Gaming.de

      Einmal editiert, zuletzt von GenApophis (11. September 2017 um 11:52) aus folgendem Grund: tt in klammern vergessen^^

    • Dukes
      Fortgeschrittener
      Reaktionen
      22
      Trophäen
      9
      Beiträge
      423
      • 31. Dezember 2017 um 11:51
      • #4

      Hallo zusammen,

      ich wollte das Script auch auf meinem Server einbauen. Nach dem ich aber alles so gemacht habe wie es hier stand ging es erstmal nicht. Ich habe mir dann mal die fn_generateschiffwrackauto.sqf angeschaut.

      Hier sind ein paar Dinge auskommentiert die nicht auskommentiert sein sollten. Mir hat es den Fehler gebracht, dass _lootAmount nirgends definiert war.

      Bsp.:

      Code
      // Warten, bis es geöffnet wird_dasWrack setVariable ["opened",true,true];
      // RANDOM LOOT EINFÜHREN_lootAmount = schiffsw_loot_amount;

      Das muss eigentlich so aussehen:

      Code
      // Warten, bis es geöffnet wird
      _dasWrack setVariable ["opened",true,true];
      // RANDOM LOOT EINFÜHREN
      _lootAmount = schiffsw_loot_amount;


      Es befinden sich noch mehr solche Fehler in der fn_generateschiffwrackauto.sqf.

      Ich lade meine vollständig Korrigierte Datei hoch.


      Mit freundlichen Grüßen,

      Dukes

      Dateien

      fn_generateschiffwrackauto.sqf 3,76 kB – 437 Downloads

      "Liegt der Camper tot im Keller,

      war der Rusher wieder schneller,

      liegt der Rusher tot daneben,

      hat der Camper nen Kollegen,

      sind sie beide noch am Leben,

      ging ne menge Blei vorbei,

      sind sie jedoch beide weg,

      cheatet einer - so ein Dreck!"


      ## -/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/- ##

      Tonnick Community

      TS³ : tonnickcommunity.de

    • Madco
      Frischling
      Trophäen
      10
      Beiträge
      18
      • 22. März 2018 um 08:54
      • #5

      Hallo zusammen,

      wollte in dem Script ein Sleep zwischen setzen der Ladung und der Explosion einbringen. Leider wird ein Sleep oder ein uiSleep immer mit einer Fehlermeldung quittieren.

      Wäre super nett wenn Ihr mir hierbei helfen könnt..

      Spoiler anzeigen

      23:39:59 Error in expression <x\alarm_independent.wss", _ship_obj];

      sleep 10;


      "M_NLAW_AT_F" createVehicl>

      23:39:59 Error position: <sleep 10;


      "M_NLAW_AT_F" createVehicl>

      23:39:59 Error Allgemeiner Fehler in Ausdruck

      23:39:59 File core\pmenu\fn_useItem.sqf [life_fnc_useItem], line 180

      23:39:59 Suspending not allowed in this context

      23:39:59 Error in expression <elect 0, getPos _ship_obj select 1, 0];

      sleep 20;

      "M_NLAW_AT_F" createVehicle [g>

      23:39:59 Error position: <sleep 20;

      "M_NLAW_AT_F" createVehicle [g>

      23:39:59 Error Allgemeiner Fehler in Ausdruck

      23:39:59 File core\pmenu\fn_useItem.sqf [life_fnc_useItem], line 186




      Spoiler anzeigen

      case (_item == "uwsl"): {

      _OBJ = nearestObject [player, "Land_Wreck_Traw_F"];

      if (_OBJ==objNull) then { _OBJ = nearestObject [player, "Land_Wreck_Traw2_F"]; };

      if (("Land_Wreck_Traw_F" == typeOf _OBJ) OR ("Land_Wreck_Traw2_F" == typeOf _OBJ)&&(player distance _OBJ < 50)) then {

      if (!([false,_item,1] call life_fnc_handleInv)) exitWith { hint "Error: Object not found"; };

      _ship = _OBJ getVariable "opened";

      _ship_obj = _OBJ;

      if (_ship) then

      { hint "Das Schiff wurde bereits geoeffnet!" };

      if (!_ship) then {

      hint "The charge has been planted! Get away from the shipwreck!";

      playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", _ship_obj];

      //sleep 10;

      //uiSleep 10;

      "M_NLAW_AT_F" createVehicle [getPos _ship_obj select 0, getPos _ship_obj select 1, 0];

      schiffwoffen = true;

      publicVariableServer "schiffwoffen";

      };

      };

      }; // Madco18.2

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 22. März 2018 um 09:32
      • #6

      Moin,

      das hat etwas mit dem Enviroment zutun in dem Du das ausführst ;) . An dieser Stelle darf man einfach ein sleep oder uiSleep benutzen sondern muss das ganze Kapseln. Das könnte dann so aussehen.

      C
      case (_item == "uwsl"): {
          _OBJ = nearestObject [player, "Land_Wreck_Traw_F"];
          if (_OBJ==objNull) then { _OBJ = nearestObject [player, "Land_Wreck_Traw2_F"]; };
          if (("Land_Wreck_Traw_F" == typeOf _OBJ) OR ("Land_Wreck_Traw2_F" == typeOf _OBJ)&&(player distance _OBJ < 50)) then {
              if (!([false,_item,1] call life_fnc_handleInv)) exitWith { hint "Error: Object not found"; };
              _ship = _OBJ getVariable "opened";
              _ship_obj = _OBJ;
              if (_ship) then{ hint "Das Schiff wurde bereits geoeffnet!" };
              if (!_ship) then { 
                  hint "The charge has been planted! Get away from the shipwreck!";
                  playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", _ship_obj];
                  _handle = [] spawn {
                      sleep 10;
                  };
                  waitUntil {scriptDone _handle};
                  
                  //sleep 10;
                  //uiSleep 10;
                  "M_NLAW_AT_F" createVehicle [getPos _ship_obj select 0, getPos _ship_obj select 1, 0];
                  schiffwoffen = true;
                  publicVariableServer "schiffwoffen";
              };
          };
      };
      Alles anzeigen

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Madco
      Frischling
      Trophäen
      10
      Beiträge
      18
      • 22. März 2018 um 18:51
      • #7

      Hallo moeck,

      danke für den Tipp... hat aber nicht zum Erfolg geführt, gleiche Meldung.. gibt es noch weitere Möglichkeiten des "kapseln"... ein Test mit einem HINT im _handle - wird paralell ausgeführt, aber trotzdem mit Error beendet.

    • Vandigra
      Frischling
      Trophäen
      10
      Beiträge
      10
      • 24. Mai 2018 um 15:44
      • #8

      Mahlzeit.

      Ich habe dieses Script nach dem Tutorial eingebaut. Inklusive der im Tut nicht erwähnten eintragung des "uwsl" Items in einem Shop und in der stringtable.xml

      Soweit funktioniert es auch. Sprich das Wrack und das dazugehörige Suchgebiet spawnen. Sowie der Meldung, das dieses Wrack gefunden wurde.

      Doch was bei mir nicht funktioniert, ist das Looten des Wracks.

      Wenn ich mit diesem "uwsl" Item am Wrack bin und das Wrack anvisiere, kann ich dieses Item nicht benutzen.

      Die Taste "T" hat ebenfalls kein effekt.

      Daher meine frage/bitte, mag mir jemand eine Lösung für das Problem nennen?

      Zur Info, ich verwende die Version 5.0 aus dem Github Repo.

      Und zu letzt hänge ich noch die RPT's an. Auch wenn diese soweit ich es beurteilen kann, keine Script Fehler melden.

      Dateien

      Arma3_x64_2018-05-24_14-42-16.rpt 68,61 kB – 229 Downloads arma3server_x64_2018-05-24_14-40-46.rpt 57,52 kB – 243 Downloads
    • Marius1773
      Profi
      Reaktionen
      369
      Trophäen
      9
      Beiträge
      962
      • 24. Mai 2018 um 15:54
      • #9
      Code
      15:19:12 "Land_Wreck_Traw_F: LifeCfgVehicles class doesn't exist"

      Trag mal den Trawler bei den Config_Vehicles ein unter er Vlass LifeCfgVehicles

      Windows Server :love:

      Das Heilige Buch der Arma 3 Scripter, die Arma 3 Scripter Bibel: https://community.bistudio.com/wiki/Category:Scripting_Commands

    • Vandigra
      Frischling
      Trophäen
      10
      Beiträge
      10
      • 24. Mai 2018 um 19:06
      • #10

      Mahlzeit.

      Habe die beiden Trawler in der Config_Vehicle.hpp wie folgt eingetragen.

      Code: Config_Vehicle.hpp
      class Land_Wreck_Traw_F {
              vItemSpace = 100;
              conditions = "";
              price = 1;
              textures[] = {};
          };
          class Land_Wreck_Traw2_F {
              vItemSpace = 100;
              conditions = "";
              price = 1;
              textures[] = {};
          };
      Alles anzeigen

      Jetzt bekomme ich bei beiden Trawler mit T den Virtuellen Kofferraum. Welcher jedoch leer ist.

      Dieser wird mit dem Script auch nicht gefüllt. Ich denke, das der erst mit dem benutzen von diesem "uwsl" Item gefüllt wird. Doch genau dieses lässt sich nicht benutzen.

      Dann hänge ich abermals die RPT's an.

      Dateien

      Arma3_x64_2018-05-24_17-32-37.rpt 62,78 kB – 250 Downloads arma3server_x64_2018-05-24_18-11-47.rpt 57,7 kB – 479 Downloads

    Registrieren oder Einloggen

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

    Registrieren

    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™