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
Mo: 29 September 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. stolzerrabe

    Beiträge von stolzerrabe

    • Ace Medical System - Wiederbelebung

      • stolzerrabe
      • 22. Mai 2016 um 23:51
      Zitat von Zotti

      Sehr gut, und damit kann ich mit der Windows(aktion10) Taste also wiederbeleben?
      Weil es mit Ace ja nicht geht!

      Also genau so habe ich es drin ;)

    • Ace Medical System - Wiederbelebung

      • stolzerrabe
      • 22. Mai 2016 um 20:59

      Ich arbeite mit der 3.1.4.8 :D

    • Ace Medical System - Wiederbelebung

      • stolzerrabe
      • 21. Mai 2016 um 14:07

      Falls es dich noch interessiert.
      Ich habe es nun so gelöst, dass zum Wiederbeleben, das alte system verwendet wird.
      Allerdings habe ich dem wiederbelebten Schaden hinzugefügt, sodass die Sanis, nach dem Reanimieren dennoch was zu tun haben:

      in der core\medical\fn_revieved.sqf wird zwischen dem Abschnitten, der ACE Schaden hinzugefügt:

      Code
      //Bring me back to life.
      player setDir _dir;
      player setPosASL (visiblePositionASL life_corpse);
      life_corpse SVAR ["Revive",nil,TRUE];
      life_corpse SVAR ["name",nil,TRUE];
      [life_corpse] remoteExecCall ["life_fnc_corpse",RANY];
      deleteVehicle life_corpse;
      
      
      
      
      player SVAR ["Revive",nil,TRUE];
      player SVAR ["name",nil,TRUE];
      player SVAR ["Reviving",nil,TRUE];
      [] call life_fnc_playerSkins;
      [] call life_fnc_hudUpdate; //Request update of hud.
      Alles anzeigen

      Etwa SO:

      Code
      //Bring me back to life.
      player setDir _dir;
      player setPosASL (visiblePositionASL life_corpse);
      life_corpse SVAR ["Revive",nil,TRUE];
      life_corpse SVAR ["name",nil,TRUE];
      [life_corpse] remoteExecCall ["life_fnc_corpse",RANY];
      deleteVehicle life_corpse;
      
      
      
      
      [player, 0.30, "Torso", "stab"] call ace_medical_fnc_addDamageToUnit;
      [player, 0.50, "Body", "stab"] call ace_medical_fnc_addDamageToUnit;
      [player, 0.60, "leg_r", "stab"] call ace_medical_fnc_addDamageToUnit;
      [player, 0.75, "leg_l", "stab"] call ace_medical_fnc_addDamageToUnit;
      
      
      
      
      player SVAR ["Revive",nil,TRUE];
      player SVAR ["name",nil,TRUE];
      player SVAR ["Reviving",nil,TRUE];
      [] call life_fnc_playerSkins;
      [] call life_fnc_hudUpdate; //Request update of hud.
      Alles anzeigen
    • Langsames Laden des Zinventars

      • stolzerrabe
      • 19. Mai 2016 um 10:05

      Sry hat sich erledigt...
      War eine missinterpretation eines Users...
      Wir haben über 150 Items.. es dauert aber nicht so lange.
      Alles was 4 Sek. was lange dauert ist mein Schließfachscript....

    • Langsames Laden des Zinventars

      • stolzerrabe
      • 19. Mai 2016 um 02:30

      Hu Leute,
      mal ne frage... vllt hat jemand auch das problem (gehabt) und kennt eine Lösung, oder zumindest einen Ansatz.
      In egal, welchem Menü (Shops, Kofferraum etc) werden die Spielerseitigen ZItems erst nach ca ~3-4 Sekunden geladen.
      Die Seite der NPCs wird ja erst hinterher geladen. Hier ist dann alles sofort da.

      Kurze Infos:
      Über 150 life_inv_items
      MOD Server
      Altis Life 3.1.4.8
      [lexicon]extDB[/lexicon] v35

      CPU Intel i7 2600K
      Ram 16 GB DDR3
      HDD 120 GB SSD

    • ACE

      • stolzerrabe
      • 16. Mai 2016 um 18:36

      Battleye

    • ACE

      • stolzerrabe
      • 16. Mai 2016 um 18:33
      Zitat

      Update des BattlEye Service fehlgeschlagen. Der Hauptserver ist offline oder nicht erreichbar. Bitte vergewissern Sie sich, dass Sie mit dem Internet verbunden sind und dass die Datei BEService.exe nicht von einer Firewall blockiert wird.

      Solange der server nicht geht, wird Battleye diese dll´s blockieren... :/
      Komme selber nicht auf unseren Server..

    • [SAMMELTHREAD] Zeigt euren Desktop!

      • stolzerrabe
      • 16. Mai 2016 um 18:09

      Ich mach auch mal mit :D :D :P

    • [Vergleich 2025] Webhosting, Rootserver, Dedicated Server, vServer und Gameserver Anbieter im Test

      • stolzerrabe
      • 16. Mai 2016 um 17:52

      Was ist mit NGZ?
      Rootserver Spielwiese zum kleinen Preis | NGZ-Server.de

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 16. Mai 2016 um 16:25
      Zitat von malicutt

      Habe jetzt mehrere Sachen getestet das letzte ist das hier

      Spoiler anzeigen

      _vehicle = createVehicle ["C_Hatchback_01_sport_F", position player, [], 0, "NONE"];
      waitUntil {!isNil "_vehicle"}; //Wait?
      _vehicle allowDamage false; //Temp disable damage handling..
      _vehicle lock 2;
      _vehicle setVectorUp (surfaceNormal postition player);
      _vehicle setDir (markerDir _position_player);
      _vehicle setPos (position player);
      _vehicle allowDamage true;
      [[_vehicle,_colorIndex],"life_fnc_colorVehicle",true,false] spawn life_fnc_MP;
      [_vehicle] call life_fnc_clearVehicleAmmo;
      [[_vehicle,"trunk_in_use",false,true],"TON_fnc_setObjVar",false,false] spawn life_fnc_MP;
      //life_vehicles set[count life_vehicles,_vehicle]; //Add err to the chain.
      life_vehicles pushBack _vehicle;
      [[getPlayerUID player,playerSide,_vehicle,1],"TON_fnc_keyManagement",false,false] call life_fnc_MP; _vehicle disableTIEquipment true; //No Thermals.. They're cheap but addictive.
      life_vehicles pushBack _vehicle;
      [[(getPlayerUID player),playerSide,_vehicle,_colorIndex],"TON_fnc_vehicleCreate",false,false] spawn life_fnc_MP;
      [0] call SOCK_fnc_updatePartial;

      Leider kann ich das Fahrzeug nicht öffnen und habe auch keinen Schüssel dafür, vermutlich kann das so auch nicht funktionieren richtig ?^^

      Alles anzeigen

      Da sind stellen drin, die nicht für die 4.x sind. Das versuche ich dir zu sagen!

      Ich zeig dir mal aus beiden Sachen, die ich geschrieben habe die selben Zeilen: (NUR 2 DAVON! ES SIND MEHRERE)


      3.1.4.8
      [[(getPlayerUID player),playerSide,_vehicle,_colorIndex],"TON_fnc_vehicleCreate",false,false] spawn life_fnc_MP;
      [[getPlayerUID player,playerSide,_vehicle,1],"TON_fnc_keyManagement",false,false] call life_fnc_MP;
      4.x
      [(getPlayerUID player),CIV,_vehicle,_colorIndex] remoteExecCall ["TON_fnc_vehicleCreate",RSERV];
      [getPlayerUID player,CIV,_vehicle,1] remoteExecCall ["TON_fnc_keyManagement",RSERV];


      Du hast wegen meinem Vorpost das Falsche drin!

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 16. Mai 2016 um 15:45

      Eigentlich hatte ich dir das schon einigermaßen angepasst...

      Das ist für die 3.1.4.x
      Du hast die 4.x


      Zitat von stolzerrabe

      HINWEIS:

      _displayName = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _veh),"displayName");
      Dies muss auf jedenfall angepasst werden.
      EBENSO sollte das ganze Script deinen Bedürfnissen angepasst werden.
      DAS GESAMMTE SCRIPT WIRD SEHR WAHRSCHEINLICH NICHT SO LAUFEN!
      Hier wie gesagt, muss jemand ran, der mit der 4.x arbeitet.


      Spoiler anzeigen
      SQL
      #include "..\..\script_macros.hpp"
      
      
      
      
      
      
      
      private["_veh","_upp","_ui","_progress","_pgText","_cP","_displayName","_test"];
      _veh = cursorTarget;
      life_interrupted = false;
      if(isNull _veh) exitwith {};
      if((_veh isKindOf "Car") OR (_veh isKindOf "Ship") OR (_veh isKindOf "Air")) then {
          if("ToolKit" in (items player)) then {
              life_action_inUse = true;
              _displayName = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _veh),"displayName");
              _upp = format[localize "STR_NOTF_Repairing",_displayName];
      
      
      
      
      
      
      
              //Setup our progress bar.
              disableSerialization;
              5 cutRsc ["life_progress","PLAIN"];
              _ui = GVAR_UINS "life_progress";
              _progress = _ui displayCtrl 38201;
              _pgText = _ui displayCtrl 38202;
              _pgText ctrlSetText format["%2 (1%1)...","%",_upp];
              _progress progressSetPosition 0.01;
              _cP = 0.01;
      
      
      
      
      
      
      
              while{true} do {
                  if(animationState player != "AinvPknlMstpSnonWnonDnon_medic_1") then {
                      [player,"AinvPknlMstpSnonWnonDnon_medic_1",true] remoteExecCall ["life_fnc_animSync",RCLIENT];
                      player switchMove "AinvPknlMstpSnonWnonDnon_medic_1";
                      player playMoveNow "AinvPknlMstpSnonWnonDnon_medic_1";
                  };
      
      
      
      
      
      
      
                  sleep 0.27;
                  _cP = _cP + 0.01;
                  _progress progressSetPosition _cP;
                  _pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
                  if(_cP >= 1) exitWith {};
                  if(!alive player) exitWith {};
                  if(player != vehicle player) exitWith {};
                  if(life_interrupted) exitWith {};
              };
      
      
      
      
      
      
      
              life_action_inUse = false;
              5 cutText ["","PLAIN"];
              player playActionNow "stop";
              if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
              if(player != vehicle player) exitWith {titleText[localize "STR_NOTF_ActionInVehicle","PLAIN"];};
      
      
      
      
      
      
      
      
      
      
      
      
      
      _vehicle = createVehicle ["C_Hatchback_01_sport_F", position player, [], 0, "NONE"];
      waitUntil {!isNil "_vehicle" && {!isNull _vehicle}};
      
      
      
      
      
      
      
      _vehicle allowDamage false;
      _vehicle setVectorUp (surfaceNormal position player);
      
      
      
      
      
      
      
      _vehicle lock 2;
      
      
      
      
      
      
      
      [_vehicle,_colorIndex] call life_fnc_colorVehicle;
      [_vehicle] call life_fnc_clearVehicleAmmo;
      [_vehicle,"trunk_in_use",false,true] remoteExecCall ["TON_fnc_setObjVar",RSERV];
      [_vehicle,"vehicle_info_owners",[[getPlayerUID player,profileName]],true] remoteExecCall ["TON_fnc_setObjVar",RSERV];
      _vehicle disableTIEquipment true;
      
      
      
      
      
      
      
      _vehicle allowDamage true;
      life_vehicles pushBack _vehicle;
      [getPlayerUID player,CIV,_vehicle,1] remoteExecCall ["TON_fnc_keyManagement",RSERV];
      [(getPlayerUID player),CIV,_vehicle,_colorIndex] remoteExecCall ["TON_fnc_vehicleCreate",RSERV];
      [0] call SOCK_fnc_updatePartial;
      
      
      
      
      
      
      
          };
      };
      Alles anzeigen

      Du musst auf jedenfall die _colorIndex mit eintragen!
      Diese enhält den Skin, oder du setzt ein random Script ein, welches einen zufälligen ColorIndex wählt. Somit weiss man nie, welches Skin man bekommt ;)

      Und wenn du wirklich Basiswissen nicht verstehst, solltest du nich solche "Fortgeschrittene" Scripte versuchen zusammen-zu-schustern, nur weil du auf anderem Server sowas gesehen hast.
      Zuerst solltest du dir das Basiswissen aneignen.
      Solche Features kann man dem Server auch hinzufügen, wenn man alles andere soweit hat!
      Ich und andere helfen mit Sicherheit gerne jedem User, aber zumindest finde ich, dass das Verständniss für grundlegene Config-Einstellungen und hinzufügen von Items, sowie die Abhängigkeit und Strukturierung der Scripte, schon vorhanden sein sollte.

      Nur, wie ich es bei dir herauslese, fehlt dir jegliches Verständnis, überhaupt eine Programmiersprache zu lesen... - Das ist kein Angriff, oder ähnliches. So kommt es mir nur vor...
      Ist auch nicht weiter schlimm. Jeder hat mal bei 0 Angefangen, nur dann solltest du vllt ersteinmal lernen, wie man überhaupt mit dem Framework umgeht.

      Wie ich bereits erwähnte wird keiner eine "hier hast du - bau einfach ein - das ist narrensicher - und keiner kann es dir klauen" Lösung bieten.

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 16. Mai 2016 um 12:20
      Zitat von malicutt

      Erstmal riesen Dank das du dir so viel Mühe machst!
      Ich bekomme es leider trotzdem nicht geregelt.

      Kein Dingen...
      Aber sry, ich muss dann leider passen, ich selber nutzt die 3.4.1.8 und nicht die 4.x ... Da müsste sich jemand anderes dranhängen.
      Was du allerdings missverstehst, ist mein Gedankenanstoß...


      Zu diesem Part:

      Code
      case (_item == "HatchBackBausatz"):
      {
         if(([false,_item,1] call life_fnc_handleInv)) then
         {
           [] call life_fnc_baueHatchBack;
         };
      };


      Hatte ich geschrieben:

      Zitat von stolzerrabe

      Also ich würde aus "A" + "B" + "C" ein "Z-Item" machen => life_inv_HatchBackBausatz
      Dann dieses in der UseItem nutzen.


      Das bedeutet:
      Du musst ein Item (den Bausatz für das bestimmte Auto), welches durch deine Materialien A, B, C anlegen.
      Dies geht in der 4.0 in der File: Config_vItems.hpp

      SQL
      class Hatchback_Bausatz{
              variable = "hatchbackBausatz";
              displayName = "Hatchback Bausatz";
              weight = 90;
              buyPrice = -1;
              sellPrice = 44000;
              illegal = false;
              edible = -1;
              icon = "";
          };

      Dieses Item [hatchbackBausatz] muss nun nutzbar gemacht werden in core\pmenu\fn_useItem.sqf
      Hier wäre dieser Code richtig. Allerdings sieht er bei der 4.x anders aus. Etwa so:

      SQL
      case (EQUAL(_item,"hatchbackBausatz")): {
      		if(([false,_item,1] call life_fnc_handleInv)) then {
      			[] call life_fnc_BaueHatchback;
      		};
      	};

      Dazu die fn_BaueHatchback.sqf sollte in etwa so aussehen und gehört in core\actions
      Und der Eintrag in der Functions.hpp unter :


      SQL
      class Actions
      {
        file = "core\actions";
        ...
        ...
        class BaueHatchback {};
      };

      HINWEIS:
      _displayName = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _veh),"displayName");
      Dies muss auf jedenfall angepasst werden.
      EBENSO sollte das ganze Script deinen Bedürfnissen angepasst werden.
      DAS GESAMMTE SCRIPT WIRD SEHR WAHRSCHEINLICH NICHT SO LAUFEN!
      Hier wie gesagt, muss jemand ran, der mit der 4.x arbeitet.


      Spoiler anzeigen
      SQL
      #include "..\..\script_macros.hpp"
      
      
      
      
      private["_veh","_upp","_ui","_progress","_pgText","_cP","_displayName","_test"];
      _veh = cursorTarget;
      life_interrupted = false;
      if(isNull _veh) exitwith {};
      if((_veh isKindOf "Car") OR (_veh isKindOf "Ship") OR (_veh isKindOf "Air")) then {
      	if("ToolKit" in (items player)) then {
      		life_action_inUse = true;
      		_displayName = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _veh),"displayName");
      		_upp = format[localize "STR_NOTF_Repairing",_displayName];
      
      
      
      
      		//Setup our progress bar.
      		disableSerialization;
      		5 cutRsc ["life_progress","PLAIN"];
      		_ui = GVAR_UINS "life_progress";
      		_progress = _ui displayCtrl 38201;
      		_pgText = _ui displayCtrl 38202;
      		_pgText ctrlSetText format["%2 (1%1)...","%",_upp];
      		_progress progressSetPosition 0.01;
      		_cP = 0.01;
      
      
      
      
      		while{true} do {
      			if(animationState player != "AinvPknlMstpSnonWnonDnon_medic_1") then {
      				[player,"AinvPknlMstpSnonWnonDnon_medic_1",true] remoteExecCall ["life_fnc_animSync",RCLIENT];
      				player switchMove "AinvPknlMstpSnonWnonDnon_medic_1";
      				player playMoveNow "AinvPknlMstpSnonWnonDnon_medic_1";
      			};
      
      
      
      
      			sleep 0.27;
      			_cP = _cP + 0.01;
      			_progress progressSetPosition _cP;
      			_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
      			if(_cP >= 1) exitWith {};
      			if(!alive player) exitWith {};
      			if(player != vehicle player) exitWith {};
      			if(life_interrupted) exitWith {};
      		};
      
      
      
      
      		life_action_inUse = false;
      		5 cutText ["","PLAIN"];
      		player playActionNow "stop";
      		if(life_interrupted) exitWith {life_interrupted = false; titleText[localize "STR_NOTF_ActionCancel","PLAIN"]; life_action_inUse = false;};
      		if(player != vehicle player) exitWith {titleText[localize "STR_NOTF_ActionInVehicle","PLAIN"];};
      
      
      
      
      
      
      
      
      
      
      _vehicle = createVehicle ["C_Hatchback_01_sport_F", position player, [], 0, "NONE"];
      waitUntil {!isNil "_vehicle" && {!isNull _vehicle}};
      
      
      
      
      _vehicle allowDamage false;
      _vehicle setVectorUp (surfaceNormal position player);
      
      
      
      
      _vehicle lock 2;
      
      
      
      
      [_vehicle,_colorIndex] call life_fnc_colorVehicle;
      [_vehicle] call life_fnc_clearVehicleAmmo;
      [_vehicle,"trunk_in_use",false,true] remoteExecCall ["TON_fnc_setObjVar",RSERV];
      [_vehicle,"vehicle_info_owners",[[getPlayerUID player,profileName]],true] remoteExecCall ["TON_fnc_setObjVar",RSERV];
      _vehicle disableTIEquipment true;
      
      
      
      
      _vehicle allowDamage true;
      life_vehicles pushBack _vehicle;
      [getPlayerUID player,CIV,_vehicle,1] remoteExecCall ["TON_fnc_keyManagement",RSERV];
      [(getPlayerUID player),CIV,_vehicle,_colorIndex] remoteExecCall ["TON_fnc_vehicleCreate",RSERV];
      [0] call SOCK_fnc_updatePartial;	
      
      
      
      
      	};
      };
      Alles anzeigen
    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 16. Mai 2016 um 02:59

      Austauschen musst du eigentlich nur die CLASSNAMES der Autos...
      Habe mal versucht es dir etwas zu zerstückeln...

      • _vehicle = createVehicle [_className, (getMarkerPos _spawnPoint), [], 0, "NONE"];

        • _vehicle ist die Variable, die dem createVehicle zugeordnet wird, und kann weiter verwendet werden,
          um an deinem Auto weitere Befehle auszuführen.
        • _className muss mit dem Auto ersetzt werden zB C_Hatchback_01_sport_F
        • (getMarkerPos _spawnPoint) müsste ersetzt werden mit position player

          Du bräuchtest also _vehicle = createVehicle ["C_Hatchback_01_sport_F", position player, [], 0, "NONE"];

        --> createVehicle - Bohemia Interactive Community

      • waitUntil {!isNil "_vehicle"};
        Wartet darauf, dass die Variable _vehicle auch Werte enthält. Solange wird das Script nicht weiter ausgeführt
        --> waitUntil - Bohemia Interactive Community
      • _vehicle allowDamage false;
        Dein Auto (angesprochen über _vehicle) bekommt temporär einen "GodMode", damit es beim Spawnen
        nicht kaputt geht. (Passiert ab und an)
        --> allowDamage - Bohemia Interactive Community
      • _vehicle lock 2;
        Schließt das Auto ab!
        --> lock - Bohemia Interactive Community
      • _vehicle setVectorUp (surfaceNormal (getMarkerPos _spawnPoint));
        Dies richtet das Auto an der Oberfläche aus.
        DU brächtest hier:
        _vehicle setVectorUp (surfaceNormal postition player);
        --> surfaceNormal - Bohemia Interactive Community
      • _vehicle allowDamage true;
        Damit kann das Auto wieder Schaden nehmen. Nachdem es positioniert und abgeschlossen wurde.
      • [[_vehicle,_colorIndex],"life_fnc_colorVehicle",true,false] spawn life_fnc_MP;
        Die Variable _vehicle wird zusammen mit dem _colorIndex an den Server gesendet (life_fnc_MP)
        Damit wird bestimmt, welches "Skin" das Fahrzeug hat.
        Der Index ist eine Nummer... (siehe: fn_vehicleColorStr.sqf)
      • [_vehicle] call life_fnc_clearVehicleAmmo;
        Entfernt alle Waffen/Magazine etc von deinem Auto!
      • [[_vehicle,"trunk_in_use",false,true],"TON_fnc_setObjVar",false,false] spawn life_fnc_MP;
        Gibt deinem Auto die Variable "trunk_in_use". Dies ist für den Kofferaum.
      • [[_vehicle,"vehicle_info_owners",[[getPlayerUID player,profileName]],true],"TON_fnc_setObjVar",false,false] spawn life_fnc_MP;
        Gibt deinem Auto die Variable "vehicle_info_owners". Diese beinhaltet alle "Besitzer", die gerade einen Schlüssel haben.
      • [[getPlayerUID player,playerSide,_vehicle,1],"TON_fnc_keyManagement",false,false] spawn life_fnc_MP;
        Hier wird mit deiner Spielerid, deiner Fraktion (COP, MED, CIV) und deinem Auto, ein Schlüssel erzeugt.
        1 = Für Fahrzeuge
        0 = Häuser
      • [[(getPlayerUID player),playerSide,_vehicle,_colorIndex],"TON_fnc_vehicleCreate",false,false] spawn life_fnc_MP;
        Zu guter letzt wird nun deine Spielerid, deine Fraktion, dein Auto und der Skin, an die Datenbank übergeben.


      So ist das zusammenhängende Aufgebaut.
      Ich hoffe ich kann damit dir, und jedem, der sich auch daran versuchen will, etwas helfen.

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 15. Mai 2016 um 14:05
      Zitat von malicutt

      Leider nein, ich mache das ganze hier seit gut 4 Wochen. Ich finde da ganz sicher alles aber meine Kentnisse reichen nicht um mir das raus zu suchen und umzuschreiben was ich benötige. Vorallem weiß ich dann auch immer noch nicht wie ich das Fahrzeug ins Inventar bekomme.


      Also dann reichen deine Kenntnisse scheinbar doch nicht aus. Sry.
      Also ich würde aus "A" + "B" + "C" ein "Z-Item" machen => life_inv_HatchBackBausatz
      Dann dieses in der UseItem nutzen.


      Code
      case (_item == "HatchBackBausatz"):
      	{
      		if(([false,_item,1] call life_fnc_handleInv)) then
      		{
      			[] call life_fnc_baueHatchBack;
      		};
      	};

      Dann baust du dir eine fn_baueHatchBack.sqf

      DIESE SACHEN SOLLTEN ANGEPASST WERDEN...
      Es wird dein Auto gespawnt...
      Es wird dein Key hinzugefügt und in die Datenbank eingetragen...


      Code
      _vehicle = createVehicle [_className, (getMarkerPos _spawnPoint), [], 0, "NONE"];
      						waitUntil {!isNil "_vehicle"}; //Wait?
      						_vehicle allowDamage false; //Temp disable damage handling..
      						_vehicle lock 2;
      						_vehicle setVectorUp (surfaceNormal (getMarkerPos _spawnPoint));
      						_vehicle setDir (markerDir _spawnPoint);
      						_vehicle setPos (getMarkerPos _spawnPoint);
      						[[_vehicle,_colorIndex],"life_fnc_colorVehicle",true,false] spawn life_fnc_MP;
      						[_vehicle] call life_fnc_clearVehicleAmmo;
      						[[_vehicle,"trunk_in_use",false,true],"TON_fnc_setObjVar",false,false] spawn life_fnc_MP;
      						[[_vehicle,"vehicle_info_owners",[[getPlayerUID player,profileName]],true],"TON_fnc_setObjVar",false,false] spawn life_fnc_MP;
      						_vehicle disableTIEquipment true; //No Thermals.. They're cheap but addictive.
      
      
      
      
      
      
      
      
      
      
      
      
      
      life_vehicles pushBack _vehicle;
      [[getPlayerUID player,playerSide,_vehicle,1],"TON_fnc_keyManagement",false,false] spawn life_fnc_MP;
      
      
      
      
      [[(getPlayerUID player),playerSide,_vehicle,_colorIndex],"TON_fnc_vehicleCreate",false,false] spawn life_fnc_MP;
      
      
      
      
      
      
      
      [0] call SOCK_fnc_updatePartial;
      Alles anzeigen


      Dieses "UseItem" ruft dann dein Script auf, welches das Auto spawnen lässt, und dazu schaust du mal in der VehicleShopBuy usw. was aufgerufen wird, um es zu Speichern.

      -- Grober Gedankenvorgschlag --- KEIN VOLLSTÄNDIGES SCRIPT!! --

    • [Tutorial] Farming-Bug verhindern | Mission End

      • stolzerrabe
      • 13. Mai 2016 um 10:06

      Wenn du den Bug nicht schlimm findest, dann ist das halt so.
      Wo ist da die Fairness?

      Und das dupen, zB gleichzeitiges öffnen des Kofferraum. Auch hier gibt es eine simple Lösung:

      Ich nutze mal die Funktion von Tonic


      Code
      if([civilian,getPos player,10] call life_fnc_nearUnits) exitWith {
      hint "Eine andere Person ist zu Nahe!";
      };

      So lässt sich zB dupen durch gleichzeitiges öffnen verhindern

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 13. Mai 2016 um 02:28

      Da waren einige Fehler drin...

      zB
      standen Zeilen wie:

      //add new items if players items where deleted
      if (_inputItemsDeleted) then { if (!_hasLicense) then { life_cash = life_cash - (_processingCost * _productionAmount); };

      als

      //add new items if players items where deletedif
      (_inputItemsDeleted) then { if (!_hasLicense) then { life_cash = life_cash - (_processingCost * _productionAmount); };

      Das hätte nicht funktioniert.
      Habe es geändert, sofern ich nun nicht noch was übersehen habe... ist immerhin halb 3 ^^

      Jedenfalls sehe ich gerade, dass du für die 4.0 suchst?
      Das Script ist von 2014. Somit garantiere ich dir nicht, dass es in der 4.0 funzt.
      Testen...


      Spoiler anzeigen
      SQL
      /*
      author: preller @ freudenhaus <[email protected]> 
      for Freudenhaus Altis Life** processMulitpleItems.sqf* 
      processes any number of input items into one output item. 
      progress bar is from bryan "tonic" boardwines fn_processAction.sqf.** 
      Please feel free to use and modify it, but remember to credit the author.** 
      PARAMS:* _this select 3: String - processor type*
      */
      
      
      
      
      private ["_inputItems", "_outputItem", "_inputItemsNeeded", "_outputItemAmount", "_itemsInv", "_itemsNeeded", "_inputItemsDeleted", "_ui", "_progress", "_pgText", "_cP", "_productionAmount", "_possibleProductionAmount","_processor","_formatedProcessingInfo","_hasLicense","_licenseNeeded","_processingCost","_type","_productionInfo"];
      if (isServer) exitWith {};
      if (life_is_processing) exitWith {hint "Der Kollege ist beschäftigt. Bitte nicht stressen!";}; 
      
      
      
      
      //parameter
      _processor = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,"",[""]] call BIS_fnc_param;
      
      
      
      
      //Error check. taken from tonic.
      if(isNull _processor OR _type == "" OR (player distance _processor > 5)) exitWith {};
      if(vehicle player != player) exitwith {hint format["Du darfst nicht im Fahrzeug sitzen"];};
      life_is_processing = true;
      
      
      
      
      //define your production line here
      _productionInfo = switch (_type) do
      { 
      		case "test1": {[["water","apple"],[2,2],"goldendonat",1,"driver",5000];}; 
      		case "test2": {[["water","apple","peach"],[3,2,1],"tuna",2,"driver",10000];}; 
      		case "test3": {[["water","apple","peach","rabbit"],[1,2,1,4],"goldbar",4,"boat",20000];}; 
      		default {[]};
      };
      //initialize
      _inputItems = _productionInfo select 0;
      _inputItemsNeeded = _productionInfo select 1;
      _outputItem = _productionInfo select 2;
      _outputItemAmount = [(_productionInfo select 3),0,0,[0]] call BIS_fnc_param;
      _licenseNeeded = _productionInfo select 4;
      _processingCost = [(_productionInfo select 5),0,0,[0]] call BIS_fnc_param;
      _hasLicense = missionNamespace getVariable (([_licenseNeeded,0] call life_fnc_licenseType) select 0);
      _inputItemsDeleted = true;_productionAmount = 9999; 
      
      
      
      
      //infinite
      if ((count _inputItems) != (count _inputItemsNeeded)) exitWith {
      diag_log format["ERROR: ProcessMultipleItems falsch initialisiert: Anzahl InputItems ungleich Anzahl InputItem Kosten"];
      life_is_processing = false;};
      
      
      
      
      //check if the player has enough items and determine how much he can produce
      for "_x" from 0 to ((count _inputItems) - 1) do 
      { 
      		//get current amount player has 
      		_itemsInv = missionNamespace getVariable ([(_inputItems select _x),0] call life_fnc_varHandle); 
      		_itemsNeeded = _inputItemsNeeded select _x; 
      
      
      
      
      		//calculate possible amount of processing cycles 
      		_possibleProductionAmount = floor (_itemsInv / _itemsNeeded); 
      		if (_possibleProductionAmount < _productionAmount) then 
      		{ 
      			_productionAmount = _possibleProductionAmount; 
      		};
      };
      
      
      
      
      	//exit if the player doenst have the required items for one process
      if (_productionAmount < 1) exitWith { hint "Du hast nicht genug Materialien dabei"; life_is_processing = false;};
      
      
      
      
      //check for cash if the player doesnt have the license and calculate possible max production
      if (!_hasLicense) then 
      { 
      		//determine max production by money 
      		if ((floor (life_cash / _processingCost)) < _productionAmount) then 
      		{ 
      			_productionAmount = floor (life_cash / _processingCost); 
      		};
      };
      
      
      
      
      //exit if the player doenst have the required money for one process
      if (_productionAmount < 1) exitWith { hint "Du hast nicht genug Geld dabei"; life_is_processing = false;};
      
      
      
      
      //Setup our progress bar. taken from tonic.
      disableSerialization;
      5 cutRsc ["life_progress","PLAIN"];
      _ui = uiNameSpace getVariable "life_progress";
      _progress = _ui displayCtrl 38201;
      _pgText = _ui displayCtrl 38202;
      _pgText ctrlSetText format["%2 (1%1)...","%","Bei der Herstellung."];
      _progress progressSetPosition 0.01;
      _cP = 0.01; 
      
      
      
      
      //progress bar. taken from tonic.
      while{true} do
      { 
      	sleep 0.3; 
      	_cP = _cP + 0.01; 
      	_progress progressSetPosition _cP; 
      	_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%","Bei der Herstellung."]; 
      	if(_cP >= 1) exitWith {}; 
      	if(player distance _processor > 10) exitWith {};
      };
      if(player distance _processor > 10) exitWith {hint "Du hast dich zu weit entfernt! Bleib dichter dran"; 
      5 cutText ["","PLAIN"]; 
      life_is_processing = false;};
      
      
      
      
      //substract items 
      for "_x" from 0 to ((count _inputItems) - 1) do 
      { 
      	if (!([false,(_inputItems select _x),((_inputItemsNeeded select _x) * _productionAmount)] call life_fnc_handleInv)) then 
      	{ 
      		_inputItemsDeleted = false; 
      	};
      };
      
      
      
      
      //add new items if players items where deleted
      if (_inputItemsDeleted) then 
      { 
      	if (!_hasLicense) then 
      	{ 
      		life_cash = life_cash - (_processingCost * _productionAmount); 
      	}; 
      
      
      
      
      	//add the new item 
      	if (!([true,_outputItem,(_outputItemAmount * _productionAmount)] call life_fnc_handleInv)) then 
      	{
      		hint format["Ups. Beim produzieren ist was schiefgelaufen. Irgendein Admin ist Schuld! Ich nicht. Gruß preller"]; 
      		diag_log format["ERROR: fn_processMultipleItems - new item(s) are not added"];
      	}; 
      
      
      
      
      	//format output
      	_formatedProcessingInfo = "Du hast"; 
      	for "_x" from 0 to ((count _inputItems) - 2) do 
      	{ 
      		_formatedProcessingInfo = _formatedProcessingInfo + format[" %1 %2,",((_inputItemsNeeded select _x) * _productionAmount),(_inputItems select _x)]; 
      	}; 
      	_formatedProcessingInfo = _formatedProcessingInfo + format[" und %1 %2 zu %4 %3 verarbeitet",((_inputItemsNeeded select ((count _inputItemsNeeded) - 1)) * _productionAmount),(_inputItems select ((count _inputItems) - 1)),_outputItem,(_outputItemAmount * _productionAmount)]; 
      	5 cutText ["","PLAIN"]; 
      	titleText[format["%1",_formatedProcessingInfo],"PLAIN"];
      };
      	life_is_processing = false;
      Alles anzeigen
    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 13. Mai 2016 um 01:31

      Dann lass dir gleich sagen:

      Zitat von chris89

      kannst mir das script so fertig machen das ich einfügen kann so wie es ist kann ich nicht nutzen...

      Sowas ist nicht lernen.

      Und wie ich sagte: Die Ruhrpott Scripte (Schließfach etc) sind NICHT öffentlich

    • Suche multiProcessing und Schliesfach Script

      • stolzerrabe
      • 12. Mai 2016 um 22:41

      Was er sucht sind spezielle Sachen vom Ruhrpott Life server!
      Das Schließfach dort gibt es nicht öffentlich. Deren Multiprozess, soweit ich weiss auch nicht.


      Also lerne, mit den vorhandenen Tutorials umzugehen, und arbeite dich in die Materie ein.
      Es wird dir NIEMAND eine "hier hast du - bau einfach ein - das ist narrensicher - und keiner kann es dir klauen" Lösung bieten können.

      Wir alle haben mal klein angefangen!

      Zitat von Randomizer

      Und wenn du das nicht hinkriegst dann solltest du dir überlegen ob es mit einem eigenen Server das richtige ist..

      Stimme ich voll und ganz zu.

    • Forum-Ausschluss Antrag

      • stolzerrabe
      • 8. Mai 2016 um 22:10

      Ok, gegen das Template kann man an sich ja nichs sagen xD Ich selber hatte auch vor dieses zu nehmen, aber ich glaube ich lasse es ^^
      Ist aber schon dreist, Texte 1:1 zu kopieren, und Grafiken ähnlich zu gestallten...

      xD

    • [Tutorial] Farming-Bug verhindern | Mission End

      • stolzerrabe
      • 8. Mai 2016 um 00:12

      Nach dem auch ich Möglichkeiten gesucht habe, den Farming-Bug zu verhindern, und tutorials wie diese: [Tutorial] Farmbugs fixen
      einfach nicht funktionieren, habe ich mir eine andere Methode überlegt, die meiner Meinung nach funktioniert, und auch gerecht ist.

      Was macht das Script?
      Diese Script hat einen "Zähler" am anfang der Farming Scripte, und wird mit jedem Start des Scripts +1 gezählt.
      Am Ende des Scripts wird der Zähler wieder auf 0 gesetzt.

      Hält nun ein User seine Farmingtaste gedrückt, oder drückt sie rapide schnell hintereinander, wird jedesmal der Zähler (da er am anfang steht) +1 addiert.
      Ist eine fest eingestellt Zahl erreicht, bevor das Script durch ist (also der Zähler am ende auf 0 steht) wird für alle eine Meldung herausgegeben,
      das der entsprechende User den Farming Bug versucht hat, auszunutzen.
      Anschließend, bekommt er als Strafe ein "Mission End". Da hier nun die zItems, die gerade gesammelt wurden, sehr wahrscheinlich noch nicht gespeichert sind,
      kann der User diese neu sammeln gehen.

      Strafen können beliebig eingebaut werden!

      Hier nun das TUT:


      1. Schritt
      Öffne die description.ext und füge unter der class NotWhitelisted, eine neue Class hinzu:

      Spoiler anzeigen
      SQL: description.ext
      class BugUser
      	{
      		title = "FARMING-BUG-USING FAILED!";
      		subtitle = "Bitte unterlasse das Bugusen beim Farmen!";
      		description = "BUGUSING KANN ZUM BAN FUEHREN!!";
      		pictureBackground = "";
      		picture = "";
      		pictureColor[] = {0,0.3,0.6,1};
      	};


      Aussehen sollte es dann so:

      Spoiler anzeigen
      Code
      class CfgDebriefing
      {
      	class NotWhitelisted
      	{
      		title = "FAIL!";
      		subtitle = "Du bist nicht White-Listed!";
      		description = "Du bist nicht gewhitelistet. Bitte melde dich im Forum! www.tilos-life.de";
      		pictureBackground = "";
      		picture = "";
      		pictureColor[] = {0,0.3,0.6,1};
      	};
      	class BugUser
      	{
      		title = "FARMING-BUG-USING FAILED!";
      		subtitle = "Bitte unterlasse das Bugusen beim Farmen!";
      		description = "BUGUSING KANN ZUM BAN FUEHREN!!";
      		pictureBackground = "";
      		picture = "";
      		pictureColor[] = {0,0.3,0.6,1};
      	};
      	class Blacklisted
      	{
      		title = "Mission Failed";
      		subtitle = "You are blacklisted from cops";
      		description = "You are not allowed to be a cop due to previous actions and the admins have removed you from being a cop.";
      		pictureBackground = "";
      		picture = "";
      		pictureColor[] = {0,0.3,0.6,1};
      	};
      
      
      
      
      };
      Alles anzeigen


      2. Schritt
      Am Anfang eines jeden Scripts, wo etwas gefarmt wird, (nach Private["......."]; oder halt ganz oben) folgendes einfügen:

      Spoiler anzeigen
      Code: fn_pickaxeUse.sqf
      if (isNil "speedcheck") then { speedcheck = 0; };
      
      
      
      
      speedcheck = speedcheck+1;
      
      
      
      
      if(speedcheck > 20) exitWith
      	{ 
      		["BugUser",FALSE,TRUE] call BIS_fnc_endMission;
      		sleep 3;
      		 [[1,format["%1 hat gerade versucht den Farmen-Bug auszunutzen!",name player]],"life_fnc_broadcast",true,false] spawn life_fnc_MP;
      	};
      Alles anzeigen


      und ganz am ende der Datei:
       speedcheck = 0; 

    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™