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
Sa: 23 August 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

    • items und geld nur an Gangmitglieder geben

      • moeck
      • 15. November 2017 um 10:26

      dann haste da einen kleinen Fehler drin. Schau mal ob in der fn_Ausweissehen.sqf folgendes enthalten ist

      life_known_Players pushBack _unit;

      und in der configuration.sqf

      life_known_Players = [];

      drin steht ^^

      Und ja ich lag mit meiner Vermutung richtig

    • Init der Verarbeiter automatisieren

      • moeck
      • 15. November 2017 um 10:20

      Moin,

      ich habe heute mal eine etwas spezielle Frage ;) . Da wir momentan ziemlich viel umbauen und ich auch gewisse Sachen automatisieren möchte, denke ich gerade darüber nach ob es möglich ist die Inits der Verarbeiter zu automatisieren. Wie stelle ich mir das vor aktuell muss man ja bei jedem Verarbeiter die Init selbst eintragen

      z.B.

      C
      init="this enableSimulation false; this allowDamage false; this addAction[localize""STR_Process_Copper"",life_fnc_processAction,""copper"",0,false,false,"""",' life_inv_copperUnrefined > 0 && !life_is_processing && !life_action_inUse']; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""copper"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""copper"",0,false,false,"""",' !license_civ_copper && playerSide isEqualTo civilian '];";

      Jetzt würde ich das gern dahin gehend ändern, dass ich in die Init nur noch sowas schreibe

      C
      init="this enableSimulation false; this allowDamage false; [this,""copper""] call life_fnc_checkInvLic;";

      und diese funktion generiert dann allle notwendigen addActions. Die Funktion könnte irgendwie in diese Richtung aussehen

      C
      #include "..\..\script_macros.hpp"
      /*
          file: fn_checkInvLic.sqf
          autor: moeck
          
          Description: checks the inventar and license to generate the init of a processor
      */
      params ["_obj","_process"];
      if ((isNull _obj) || (_process isEqualTo "")) exitWith {};
      
      private _flag = "civ";
      if (playerSide isEqualTo west) then (_flag = "cop");
      if (playerSide isEqualTo independent) then (_flag = "med");
      private _materialsRequired =[];
      private _text = "";
      private _haslicense = false;
      private _addAction = "";
      if (isClass (missionConfigFile >> "ProcessAction" >> _proces)) then {
          
          _materialsRequired = M_CONFIG(getArray,"ProcessAction",_type,"MaterialsReq");
          _text = M_CONFIG(getText,"ProcessAction",_type,"Text");
          _haslicense = LICENSE_VALUE(_process,_flag);
      };
      {
          if (count (_x select 0) isEqualTo 0) exitWith {};
          if (life_is_processing || life_action_inUse) exitWith {};
          _addAction=format ["this addAction[localize""%1"",life_fnc_processAction,""%2"",0,false,false,"""",''];",_text,_process]
      } count _materialsRequired;
      if !(_haslicense) then {
          _string = format[ "this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""%1"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""%1"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""%1"",0,false,false,"""",' !license_civ_%1 && playerSide isEqualTo civilian '];",_process];
          _addAction = _addAction + _string;
      };
      _obj call compile _addAction;
      Alles anzeigen

      Hatte sich schon jemand mit dem Thema auseinander gesetzt?

      Gruß,

      moeck

    • extDB läd nicht Engine.

      • moeck
      • 15. November 2017 um 08:27

      naja bin erst ein Jahr dabei und darf auch erst ab August so richtig umbauen, da die Projektleitung gewechselt hat. Klar hätte man normalerweise mit dem remoteexec anfangen müssen, aber auch ich unterliege einem lernprozess. Des Weiteren wollen die Leute immer wieder neu Features und dann ist so ein Umbau nicht so ohne weiteres machbar. Allerdings kamen sie jetzt auf die Idee, dass sich viele dinge ändern sollen und das ist nun mal deutlich einfacher mit den configs umzusetzen als mit dem nervigen Kram aus der 3.1.4.8. Daher jetzt der Umbau, mit der Gather, Process, License und vItem bin ich schon fertig und habe die Config auch in einigen Punkten um ein paar nette Sachen erweitert.

      Auch wenn ich an einigen Stellen nicht verstehe warum gewisse Sachen auch in der 5.0 so gelöst wurden. Zum Teil habe ich den Code für mich weiter optimiert, damit ich mehr mit den configs arbeiten kann ^^

    • items und geld nur an Gangmitglieder geben

      • moeck
      • 15. November 2017 um 08:20

      das mit den Ausweien hast Du nicht drin oder? nicht dass sich die Leute erstmal den Ausweis zeigen müssen ^^ . Es hört sich jeden Falls für mich so an, da ja die nahen Einheiten geändert wurden mit dem Ausweisscript

    • extDB läd nicht Engine.

      • moeck
      • 15. November 2017 um 08:16
      Zitat von blackfisch

      macht sowieso nur Sinn die neueste Version zu nehmen, deutlich Bugärmer, Hacker-sicherer (mehr oder minder) und gleichzeitig umfangreicher als die alten Versionen

      wenn man einen neuen Server aufsetzt auf jeden fall, wenn man allerdings ne kiste hat die seit 3 Jahren läuft muss man zu sehen wie man den auf stand bekommt. Allerdings bin ich guter hoffnung in 2 -3 Wochen eine grundmodernisierte Variante zu haben. Anschliessend geht es mit dem Umbau auf remoteexec weiter ^^ . Aber wie immer ist der Teufel ein Eichhörnchen :P

    • extDB läd nicht Engine.

      • moeck
      • 14. November 2017 um 21:45

      Jannes also wenn du jetzt mit einem Server anfängst kann ich Dir nur dringend raten eine neuere Version zu nutzen. Es gibt keinen Link um eine 3.1.4.8 extDB3 fähig zu bekommen.

      an dieser Stelle noch einen herzlichen Dank an Lucian , da er uns hier sehr geholfen hat.

    • extDB läd nicht Engine.

      • moeck
      • 14. November 2017 um 20:38

      na das ist so nicht ganz richtig ^^ , man kann das umschreiben, dass es funktioniert

    • extDB läd nicht Engine.

      • moeck
      • 14. November 2017 um 08:53

      Moin,

      wie br1zey schon geschrieben hat bitte mal alle Logfiles hier anhängen. Ich sehe auch schon ganz oben in dem was Du gepostet hast, daß Spyglass da einen Fehler wirft aber ohne das komplette Log haben wir keine Chance Dir zu helfen.

      Gruß,

      moeck

    • Arma 3 Server - Automatische Restarts [Linux]

      • moeck
      • 14. November 2017 um 08:50

      moin,

      das ist relativ einfach. Du benötigst 2 Scripte bzw. ein Script mit den Optionen start und stop. Dann öffnest Du deine Crontab mit dem Befehl crontab -e anschliessend fügst du folgenden Befehl hinzu. Achtung hier muss eventuell der Befehl angepasst werden je nach dem wie er bei dir aussieht.

      Code
      0 */6 * * *   /arma3server/arma3server.sh restart > /arma3server/logs/server_$(date +%Y%m%d).log

      In diesem Sinne frohes schaffen. Das Ganze zum nachlesen findest du zum einen mit dem Befehl man crontab bzw. man 5 crontab oder hier https://wiki.ubuntuusers.de/Cron/ bzw. hier https://linux.die.net/man/5/crontab

      Gruß,

      moeck

    • Uniformen gehen nicht

      • moeck
      • 13. November 2017 um 15:31

      sonst hätte er die Datei wahrscheinlich nicht mit gepostet ^^

    • DB Error

      • moeck
      • 13. November 2017 um 15:30

      Moin,

      die Daten für deinen dynmarkt musst Du schon in die DB laden sonst kann das nicht klappen. Wenn ich mich nicht irre gibt es bei dem Markt ein SQL welches Du beim Anlegen mit ausführen musst.

      Gruß,

      moeck

    • DB Error

      • moeck
      • 13. November 2017 um 12:34

      Hast Du mal nach diesen "abcd" in deinen Dateien gesucht? Ich gehe davon aus dass dort der Fehler steckt.

    • [Tutorial] Admin Tool

      • moeck
      • 13. November 2017 um 11:13

      willst Du das da einfügen und nicht über über eine Taste machen?

    • DB Error

      • moeck
      • 13. November 2017 um 08:19

      Moin,

      hier steht doch da was ihn stört. ;)

      Error Undefined variable in expression: _time_gathered

      Des Weiteren hast du in den SQl Statement noch einen Fehler drin

      Code
      "abcd SELECT exp_level, exp_total, exp_perkPoints, exp_perks FROM players WHERE pid = '76561198082050391'"
      "abcd [0,0,0,[[[""perk_gunsspecialist_lessRecoil_1"",0],[[[""perk_gunsspecialist_lessRecoil_2"",0],[[""perk_gunsspecialist_lessRecoil_3"",0]]]]],[[""perk_paycheck_1"",0],[[[""perk_paycheck_2"",0],[[""perk_paycheck_3"",0]]]]],[[""perk_repair_1"",0],[[[""perk_repair_2"",0],[[""perk_repair_3"",0]]]]]]]"
      "abcd [0,0,0,[[[""perk_gunsspecialist_lessRecoil_1"",false],[[[""perk_gunsspecialist_lessRecoil_2"",false],[[""perk_gunsspecialist_lessRecoil_3"",false]]]]],[[""perk_paycheck_1"",false],[[[""perk_paycheck_2"",false],[[""perk_paycheck_3"",false]]]]],[[""perk_repair_1"",false],[[[""perk_repair_2"",false],[[""perk_repair_3"",false]]]]]]]"
      Error in expression <st pushBack [_uid, _new];
      };
      [_uid,_new select 2] call TON_fnc_setPlayTime;

      Das abcd ist da irgendwie fehl am Platze. Such mal in deinen Dateien wo dieses Statement aufgerufen wird.

      Gruß,

      moeck

    • altislife.sql in Tanoa Life?

      • moeck
      • 9. November 2017 um 18:32

      ja! denke daran für die prozeduren den user anzupassen!

    • Globale Variablen in einer Config Datei nutzen

      • moeck
      • 9. November 2017 um 18:25

      und wer sagt dass ich den kram im client erzeuge ^^

    • Globale Variablen in einer Config Datei nutzen

      • moeck
      • 9. November 2017 um 15:16
      Zitat von Kaibu

      Ich habe keine Ahnung davon aber moeck aber das geht rein aus der Sicht eines C Compilers wie Arma ihn benutzt nicht.

      Also so wie ich das oben gepostet habe, funktioniert es. Das habe ich gestern erfolgreich getestet.

    • Suche kleinen Altis Life Server

      • moeck
      • 9. November 2017 um 07:48

      Moin,

      was ist für Dich ein kleiner Server? Wir haben abends zwischen 30 und 70 Spieler je nach Wochentag ^^

      http://lostonparadise.de

      Gruß,

      moeck

    • Globale Variablen in einer Config Datei nutzen

      • moeck
      • 9. November 2017 um 00:29

      doch OILP_SELL ist eine globale Variable die gesetzt wird und ich wollte nur an den Inhalt der Variablen rankommen 8o

      Code
      OILP_SELL= random (10000);
      publicVariable "OILP_SELL";

      und die berechnung findet auf dem life_server statt

    • Globale Variablen in einer Config Datei nutzen

      • moeck
      • 9. November 2017 um 00:16

      Es geht doch ^^ als Beispiel mal die fn_virt_sell.sqf

      C
      #include "..\..\script_macros.hpp"
      /*
          File: fn_virt_sell.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Sell a virtual item to the store / shop
      */
      private ["_type","_index","_price","_amount","_name"];
      if ((lbCurSel 2402) isEqualTo -1) exitWith {};
      _type = lbData[2402,(lbCurSel 2402)];
      if (M_CONFIG(isNumber,"VirtualItems",_type,"sellPrice")) then {
          _price = M_CONFIG(getNumber,"VirtualItems",_type,"sellPrice");
      } else {
          _price = M_CONFIG(getText,"VirtualItems",_type,"sellPrice");
          _price = call compile _price;
      };
      
      if (_price isEqualTo -1) exitWith {};
      
      _amount = ctrlText 2405;
      if (!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";};
      _amount = parseNumber (_amount);
      if (_amount > (ITEM_VALUE(_type))) exitWith {hint localize "STR_Shop_Virt_NotEnough"};
      if ((time - life_action_delay) < 0.2) exitWith {hint localize "STR_NOTF_ActionDelay";};
      life_action_delay = time;
      
      _price = (_price * _amount);
      _name = M_CONFIG(getText,"VirtualItems",_type,"displayName");
      if ([false,_type,_amount] call life_fnc_handleInv) then {
          hint format [localize "STR_Shop_Virt_SellItem",_amount,(localize _name),[_price] call life_fnc_numberText];
          CASH = CASH + _price;
          [0] call SOCK_fnc_updatePartial;
          [] call life_fnc_virt_update;
      };
      
      if (life_shop_type isEqualTo "drugdealer") then {
          private ["_array","_ind","_val"];
          _array = life_shop_npc getVariable ["sellers",[]];
          _ind = [getPlayerUID player,_array] call TON_fnc_index;
          if (!(_ind isEqualTo -1)) then {
              _val = ((_array select _ind) select 2);
              _val = _val + _price;
              _array set[_ind,[getPlayerUID player,profileName,_val]];
              life_shop_npc setVariable ["sellers",_array,true];
          } else {
              _array pushBack [getPlayerUID player,profileName,_price];
              life_shop_npc setVariable ["sellers",_array,true];
          };
      };
      
      if (life_shop_type isEqualTo "gold" && (LIFE_SETTINGS(getNumber,"noatm_timer")) > 0) then {
          [] spawn {
              life_use_atm = false;
              sleep ((LIFE_SETTINGS(getNumber,"noatm_timer")) * 60);
              life_use_atm = true;
          };
      };
      
      [3] call SOCK_fnc_updatePartial;
      Alles anzeigen

      man muss die Zeile

      _price = M_CONFIG(getNumber,"VirtualItems",_type,"sellPrice");

      durch das ersetzen ^^

      Code
      if (M_CONFIG(isNumber,"VirtualItems",_type,"sellPrice")) then {
          _price = M_CONFIG(getNumber,"VirtualItems",_type,"sellPrice");
      } else {
          _price = M_CONFIG(getText,"VirtualItems",_type,"sellPrice");
          _price = call compile _price;
      };

      dann funktioniert das.

      Gruß,

      moeck

      P.s.: blackfisch : kannste zu machen

    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™