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: 11 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. moeck

    Beiträge von moeck

    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 21:14

      ich habe im Tut noch einen Fehler gefunden

      Code
      F(life_fnc_vAH_reciever,CLIENT)
      F(TON_fnc_vAH_update,SERVER)

      die life_fnc_vAH_reciever muss für Client freigegeben werden und nicht Server in der CFGRemoteExec

      AvirexDE : komme in den NN TS dann schaue ich mir das an ;)

    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 20:41

      AvirexDE : hier mal die geänderte version. Ich bin jetzt im NN TS falls wer probleme hat ;)

      Dateien

      fn_vAH_loadInventory.sqf 6,99 kB – 154 Downloads
    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 19:52

      ok ich schaue dann noch mal

      Alice Kingsleigh ich hab dich auch lieb 8o

    • Config statt in der Mission in der DB speichern

      • moeck
      • 27. Juni 2018 um 17:03

      Multivitamin na es geht schon darum sachen live zu ändern :saint:. Man muss sich halt vor dem umschreiben überlegen welche infos zwingend aktualisiert werden müssen.

    • Config statt in der Mission in der DB speichern

      • moeck
      • 27. Juni 2018 um 15:13

      man muss ja nur die Änderungen in die DB schreiben und an die Clients publizieren ohne nochmal die komplette Tabelle auszulesen ;) . Man müsste halt ein Konzept erarbeiten mit dem man den DB und Client-Server Traffic auf ein Minimum beschränkt.

    • Config statt in der Mission in der DB speichern

      • moeck
      • 27. Juni 2018 um 14:02

      Warum sollte das die extDB nicht mitmachen. Das Thema mit Verkaufspreisen habe ich schon in die DB verfrachtet. Also entweder läd man den Kram nur bei Serverstart oder halt regelmäßig, wenn es nur beim server start ist sollte das grundsätzlich ja kein problem darstellen, nur dann fällt halt die dynamik weg :/

      Man muss halt das komplette Framework dann umbauen =O

    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 13:45

      mh... ich sehe den nicht? in der Version von heute morgen war noch ein Fehler drin, das ist richtig

      Code
       #include "..\..\script_macros.hpp"
      /*
          File: fn_vAH_buy.sqf
          Description: buys the item but does some checks and another cool thing
          Author: Fresqo
          ## Modified by powerafro2 ##
          returns _id,_seller,_item,_price,_type,_amount,_sellerName
      */
      
      disableSerialization;
      private["_d","_e","_dialog","_myListbox","_selectedOffer","_id","_seller","_item","_value","_checkid","_cnt","_status","_online","_pid","_unit","_type","_amount","_diff","_uid","_caller","_handle","_tamount","_iCheck"];
      _dialog = findDisplay 15100;
      _myListbox = _dialog displayCtrl 15101;
      if (lbCurSel _myListbox < 0) exitWith {hint "Du musst ein Gegenstand auswählen";};
      _selectedOffer = call compile (_myListbox lbData (lbCurSel _myListbox));
      
      if (!vAH_loaded) exitWith {hint "Das Aktionshaus arbeitet gerade, du musst dich gedulden und einen Moment warten!"};
      if (count _selectedOffer < 6) exitWith {};
      
      _id = _selectedOffer select 0;
      _seller = _selectedOffer select 1;
      _item = _selectedOffer select 2;
      _value = _selectedOffer select 3;
      _type = _selectedOffer select 4;
      _amount = _selectedOffer select 5;
      _sellerName = _selectedOffer select 6;
      _uid = getPlayerUID player;
      _caller = player;
      _online = false;
      _iCheck = true;
      
      _e = missionNamespace getVariable [format["ahItem_%1",_id],false];
      if (player getVariable["ahID",0] != _id && !_e) exitWith {hint "Someone may be buying or retrieving this item as we speak!";};
      
      if (_seller isEqualTo _uid) exitWith {hint "Du kannst nicht dein eigenen Gegenstand kaufen!";};
      
      {_checkid = _x select 0;if (_checkid == _id) then {_status = _x select 7};}forEach all_ah_items;
      if !(_status isEqualTo 0) exitWith {hint "Der Gegenstand wurde bereits schon gekauft!";};
      if (BANK < _value) exitWith {hint "Du hast leider nicht genug Geld auf deinem Bank-Konto!";};
      
      if (_type isEqualTo 0) then
          {
              _diff = [_item,_amount,life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff;
              if(_diff < _amount) then {_iCheck = false;};
          } else
              {
              if (_type isEqualTo 1)then
                  { if (_amount > 1) then
                      {
                          _iCheck = [_item,_amount] call life_fnc_vAH_checkItem;
                      };
                  };
              };
      
      if(!_iCheck) exitWith {hint localize "STR_NOTF_InvFull";};
      BANK = BANK - _value;
      
      switch (_type) do {
          case 0: {[true,_item,_diff] call life_fnc_handleInv;};
          case 1: {
          _tamount = _amount + 1;
                  for [{_i=0}, {_i<_tamount}, {_i=_i+1}] do
              {
                  [_item,true] call life_fnc_handleItem;
              };
          };
      };
      
      {if(getPlayerUID _x isEqualTo _seller) then {_online = true; _unit = _x};} foreach allPlayers;
      
      if (_online) then {
          if (life_HC_isActive) then {
              [1,_id] remoteExec ["HC_fnc_vAH_update",HC_Life];
          } else {
              [1,_id] remoteExec ["TON_fnc_vAH_update",RSERV];
          };
          [0,[_item,_value,name _unit]] remoteExec ["life_fnc_vAH_reciever",_caller];
          [1,[_caller,_value]] remoteExec ["life_fnc_vAH_reciever",_unit];
      } else {
          if (life_HC_isActive) then {
              [3,_id,_value,_seller] remoteExec ["HC_fnc_vAH_update",HC_Life];
          } else {
              [3,_id,_value,_seller] remoteExec ["TON_fnc_vAH_update",RSERV];
          };
          [0,[_item,_value,_sellerName]] remoteExec ["life_fnc_vAH_reciever",_caller];
      };
      
      closeDialog 0;
      
      [1] call SOCK_fnc_updatePartial;
      [3] call SOCK_fnc_updatePartial;
      Alles anzeigen
    • Datenbank Problem & Mission Abgeschlossen

      • moeck
      • 27. Juni 2018 um 12:59

      Moin,

      also den Fehler im extDB Log bekommst Du weg in dem Du entweder für die Prozeduren deinen DBUser verwendest bzw. wenn dein User arma3 heißt benötigt er das recht zu löschen.

      Code
      11:24:24 Scripting function 'spy_fnc_cookiejar' is not allowed to be remotely executed
      11:24:24 Scripting function 'spy_fnc_notifyadmins' is not allowed to be remotely executed

      hier müssen die Funktionen in der CFGRemoteExec eingetragen werden ;)

      Gruß,

      moeck

    • Config statt in der Mission in der DB speichern

      • moeck
      • 27. Juni 2018 um 12:55

      Moin zusammen,

      ich stelle mir seid geraumer Zeit die Frage ob es nicht sinnvoller ist die ganze Konfigurationen (Weapon, vItems, Vehicle, ...) statt in den Missionconfigfiles nicht in der DB zu speichern. Mich ärgert es immer wieder für kleinere Änderungen jedes Mal eine neue Missiondatei auf den Server zu laden. Wenn man das über die DB machen würde könnte man das zum einen dynamisch machen und im laufenden Betrieb Preise anpassen oder man ein neues vItem hinzufügen. Ausserdem könnte man auch das Sammeln bzw. Verarbeiten dynamisch verändern.

      Das Ganze hat aus meiner Sicht relativ viel Potenzial um zusammen mit der anderen Idee Konzept Dynamisches Markt- und Verarbeitungssystem ein komplett neues Wirtschaftssystem für Arma Life zubauen. Man könnte dann sogar soweit gehen, dass es möglich ist eine neue Route einzuführen während man auf der Insel ist. Heißt ohne dass man die Mission.sqm im Editor bearbeiten muss.

      Nun zu meinen eigentlichen Fragen

      1. spricht aus Performancegründen irgendwas dagegen

      2. ist so etwas aus Arma Life Sicht überhaupt sinnvoll

      Ich freue mich auf Euer Feedback ;) .

      Gruß,

      moeck

    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 11:16

      so ich habe das nochmal angepasst ^^ , ich habe das jetzt so angepasst dass es auch mit dem HC funktioniert. Es müsste dann halt in der config.cpp des hc's noch das folgende eingetragen werden

      Code
      class vAH {
                  file = "\life_server\Functions\vAH";
                  class vAH_update {};
              };

      Ich denke aber Leute die HC's nutzen wissen was zu tun ist 8o

      Dateien

      vAH.zip 121,53 kB – 184 Downloads
    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 09:45

      So ich bin jetzt mal alles soweit durch gegangen und habe mal das eine oder andere optimiert bzw. den einen oder anderen Fehler behoben. Ich kann es momentan leider nicht testen. Sollten Fehler auftreten einfach hier posten.

      Dateien

      vAH.zip 121,41 kB – 297 Downloads
    • Auktionshaus 5.0 mit DB

      • moeck
      • 27. Juni 2018 um 08:08

      Moin,

      ich wurde gestern bzw. heute nacht gefragt ob ich mir das mal das Auktionshaus anschauen kann. Alice Kingsleigh du wolltest es ja nicht anders 8o . Die ersten beiden Fehler habe ich auch schon gefunden :evil:.

      In der fn_vAH_reciever.sqf hat die Variable info den falschen Typ. Hier mal die korrigierte Version

      C: fn_vAH_reciever.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_vAH_reciever.sqf
          Author: Ryan. Edited by Fresqo for our auction house
          ## Modified by powerafro2 ##
      */
      params [
          ["_mode",-1,[0]]
          ,["_info",[],[[]]]
      ];
      if (_info isEqualTo []) exitWith {diag_log format ["vAH Error reciever: %1", getPlayerUID player];
      switch (_mode) do
      {
          case 0:
          {
              _item = _info select 0;
              _price = _info select 1;
              _seller = _info select 2;
              hint format["Du hast den Gegenstand von %1 für $%2 gekauft.",_seller,[_price]call life_fnc_numberText];
              closeDialog 0;
          };
          case 1:
          {
              _seller = _info select 0;
              _price = _info select 1;
              hint parseText format
              [
                  "%1 hat eines deiner Gegenstände gekauft<br/>
                  <t color='#228B22'>%3%2</t><br/>", name _seller,[_price]call life_fnc_numberText,"$"
              ];
              BANK = BANK + _price;
          };
      };
      Alles anzeigen

      Des Weiteren sind mir auch ein paar Sachen in den fn_vAH_buy.sqf aufgefallen.

      C: fn_vAH.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_vAH_buy.sqf
          Description: buys the item but does some checks and another cool thing
          Author: Fresqo
          ## Modified by powerafro2 ##
          returns _id,_seller,_item,_price,_type,_amount,_sellerName
      */
      
      disableSerialization;
      private["_d","_e","_dialog","_myListbox","_selectedOffer","_id","_seller","_item","_value","_checkid","_cnt","_status","_online","_pid","_unit","_type","_amount","_diff","_uid","_caller","_handle","_tamount","_iCheck"];
      _dialog = findDisplay 15100;
      _myListbox = _dialog displayCtrl 15101;
      if (lbCurSel _myListbox < 0) exitWith {hint "Du musst ein Gegenstand auswählen";};
      _selectedOffer = call compile (_myListbox lbData (lbCurSel _myListbox));
      
      if (!vAH_loaded) exitWith {hint "Das Aktionshaus arbeitet gerade, du musst dich gedulden und einen Moment warten!"};
      if (count _selectedOffer < 6) exitWith {};
      
      _id = _selectedOffer select 0;
      _seller = _selectedOffer select 1;
      _item = _selectedOffer select 2;
      _value = _selectedOffer select 3;
      _type = _selectedOffer select 4;
      _amount = _selectedOffer select 5;
      _sellerName = _selectedOffer select 6;
      _uid = getPlayerUID player;
      _caller = player;
      _online = false;
      _iCheck = true;
      
      _e = missionNamespace getVariable [format["ahItem_%1",_id],false];
      if (player getVariable["ahID",0] != _id && !_e) exitWith {hint "Someone may be buying or retrieving this item as we speak!";};
      
      if (_seller isEqualTo _uid) exitWith {hint "Du kannst nicht dein eigenen Gegenstand kaufen!";};
      
      {_checkid = _x select 0;if (_checkid == _id) then {_status = _x select 7};}forEach all_ah_items;
      if !(_status isEqualTo 0) exitWith {hint "Der Gegenstand wurde bereits schon gekauft!";};
      if (BANK < _value) exitWith {hint "Du hast leider nicht genug Geld auf deinem Bank-Konto!";};
      
      if (_type isEqualTo 0) then
          {
              _diff = [_item,_amount,life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff;
              if(_diff < _amount) then {_iCheck = false;};
          } else
              {
              if (_type isEqualTo 1)then
                  { if (_amount > 1) then
                      {
                          _iCheck = [_item,_amount] call life_fnc_vAH_checkItem;
                      };
                  };
              };
      
      if(!_iCheck) exitWith {hint localize "STR_NOTF_InvFull";};
      BANK = BANK - _value;
      
      switch (_type) do {
          case 0: {[true,_item,_diff] call life_fnc_handleInv;};
          case 1: {
          _tamount = _amount + 1;
                  for [{_i=0}, {_i<_tamount}, {_i=_i+1}] do
              {
                  [_item,true] call life_fnc_handleItem;
              };
          };
      };
      
      {if(getPlayerUID _x isEqualTo _seller) then {_online = true; _unit = _x};} foreach allPlayers;
      
      if (_online) then {
          [[1,_id] remoteExec ["TON_fnc_vAH_update",RSERV];
          [0,[_item,_value,name _unit]] remoteExec ["life_fnc_vAH_reciever",_caller];
          [1,[_caller,_value]] remoteExec ["life_fnc_vAH_reciever",_unit];
      } else {
          [3,_id,_value,_seller] remoteExec ["TON_fnc_vAH_update",RSERV];
          [0,[_item,_value,_sellerName]] remoteExec ["life_fnc_vAH_reciever",_caller];
      };
      closeDialog 0;
      
      [1] call SOCK_fnc_updatePartial;
      [3] call SOCK_fnc_updatePartial;
      Alles anzeigen
    • [Tutorial] Permanenter Personalausweis/Dienstausweis - (V1+V2)

      • moeck
      • 27. Juni 2018 um 07:10

      bitte mal client, server und extDB logs anhängen ;)

    • [Tutorial] [Altis Life 5.0] V- und I-Items nach dem Tod in einer Lootbox

      • moeck
      • 26. Juni 2018 um 22:54

      Alice Kingsleigh du kannst noch das wegen der Anzeige aufnehmen ^^ fn_vehInventory dann sieht das nicht so komisch aus wenn es mehr als eine Mille ist

    • Maverick Tuning Shop

      • moeck
      • 26. Juni 2018 um 19:03

      Moin,

      ich würde mal im Dicord bei Maverick nachfragen ;) .

      Gruß,

      moeck

    • extDB2 konnte nicht geladen werden </3

      • moeck
      • 26. Juni 2018 um 15:48

      wie wäre es mit den Startparametern? Meine Glaskugel ist nämlich schon wieder in der Reparatur ;) Weil ich es gerade sehe unter Linux gibt es immer mal wieder Probleme mit dem @ bei den Ordnernamen

    • [Tutorial] [Altis Life 5.0] V- und I-Items nach dem Tod in einer Lootbox

      • moeck
      • 26. Juni 2018 um 13:23

      fn_vehicleInventory: Zeile 46: _tInv lbAdd format ["[%1] - %2",_val,localize _name]; ändern in _tInv lbAdd format ["[%1] - %2",[_val] call life_fnc_numberText,localize _name];

    • [Tutorial] [Altis Life 5.0] V- und I-Items nach dem Tod in einer Lootbox

      • moeck
      • 25. Juni 2018 um 22:49
      Code
      22:46:44 Error in expression <typeOf _vehicle) >> "displayName")]];
      } else {
      ctrlSetText[3501,format [(localiz>
      22:46:44   Error position: <else {
      ctrlSetText[3501,format [(localiz>
      22:46:44   Error else: Typ Array, erwartet code
      22:46:44 File core\vehicle\fn_openInventory.sqf [life_fnc_openInventory], line 95

      guckst Du da? Da hast Du wohl was falsch eingebaut

    • [Tutorial] [Altis Life 5.0] V- und I-Items nach dem Tod in einer Lootbox

      • moeck
      • 25. Juni 2018 um 22:35

      wer richtig schreiben kann ist klar im Vorteil dash

      if(_crtl isEqualTo "money") then { in if(_ctrl isEqualTo "money") then { ändern ^^ .

      Dateien

      fn_vehTakeAllItem.sqf 3,35 kB – 157 Downloads
    • [Tutorial] [Altis Life 5.0] V- und I-Items nach dem Tod in einer Lootbox

      • moeck
      • 25. Juni 2018 um 20:47

      Alice Kingsleigh nimm mal meine letzte version ^^

    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™