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
Mi: 06 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

    • Was soll ich machen - extDB3: Error with Database Connection Altis Life 5.0.0

      • moeck
      • 16. März 2017 um 16:02

      Sorry wenn ich mal nachfrage aber könntest Du mal aktuelle Logs hier reinstellen? server und client rpt und natürlich das extDB log ;)

      Die dlls haste auch schon installiert? DLLs

    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 16:00

      Für die extDB brauchst du glaube ich auch die 32 bit Version ;-). Für extDB2 auf jeden Fall.

    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:55

      Hast Du die 32-Bit dll installiert? Also .NET 32 bit wenn ich mich nicht irre.

    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:50

      CookieGaming jepp im log kommt er gar nicht bis zum laden der DB Verbindung.

    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:50

      Du hast das Script auch in die DB geladen und ausgeführt? Welche Fehlermeldung kommt?

    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:48

      Gibt es ein aktuelles Logfile?

      Startparameter:

      Code
      C:\server\A3Master\arma3server.exe -autoinit -servermod="@life_server;@extDB2" -config=server.cfg -bepath=C:\server\A3Master\battleye -profiles=C:\server\A3Master
    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:41

      So und hier für Dich. Du musst arma3 durch deinen User ersetzen.

      SQL
      DELIMITER $$
      --
      -- Procedures
      -- Edit arma3 to match a user in MySQL
      -- For external databases: Edit localhost to match arma3server IP
      --
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `resetLifeVehicles`()
      BEGIN
        UPDATE `vehicles` SET `active`= 0;
      END$$
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `deleteDeadVehicles`()
      BEGIN
        DELETE FROM `vehicles` WHERE `alive` = 0;
      END$$
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `deleteOldHouses`()
      BEGIN
        DELETE FROM `houses` WHERE `owned` = 0;
      END$$
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `deleteOldGangs`()
      BEGIN
        DELETE FROM `gangs` WHERE `active` = 0;
      END$$
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `deleteOldContainers`()
      BEGIN
        DELETE FROM `containers` WHERE `owned` = 0;
      END$$
      
      CREATE DEFINER=`arma3`@`localhost` PROCEDURE `deleteOldWanted`()
      BEGIN
        DELETE FROM `wanted` WHERE `active` = 0;
      END$$
      
      DELIMITER ;
      Alles anzeigen
    • Einrichten des Clients, Bitte warten....

      • moeck
      • 16. März 2017 um 15:35

      Moin,

      powerafro2 hat absolut recht. Ich gebe trotzdem mal einen Tipp ab ;) . Du hast den DB User im altis.sql Script nicht geändert oder?

      Gruß,

      moeck

    • Altis Life 4.4 Fahrzeuge einfügen

      • moeck
      • 16. März 2017 um 15:30

      Hast Du schon mal im Log geschaut ob da ein Fehler kommt?

    • Arma 3 Server Runtime-Error (Local-PC)

      • moeck
      • 16. März 2017 um 15:27

      Schau mal bitte in die Functions.hpp könnte sein, dass da der Fehler ist ;)

    • Arma 3 Server Runtime-Error (Local-PC)

      • moeck
      • 16. März 2017 um 15:16

      Hi,

      da ist wohl ein Klammerfehler drin. Siehe

      Code
      14:54:56 Warning Message: File mpmissions\Altis_Life.Altis\description.ext, line 167: /CfgFunctions/: Missing '}'

      Eventuell gibt es gar kein Problem mit der DB sondern hier.

      Achja deine DB läuft? extDB findet sie nämlich nicht.

      Gruß,

      moeck

    • Playertags / Player Menü nur für bekannte Personen sichtbar

      • moeck
      • 16. März 2017 um 10:47

      Moin,

      leg einfach einen Ordner ausweis an. Entweder direkt im Hauptverzeichnis oder im core ist völlig egal.

      C: Functions.h
      class Ausweis
       {
       file = "ausweis";
       class Ausweissehen {};
       class Ausweiszeigen {};
       };

      Die Konfiguration machst du mit dem Eintrag. Hier im Beispiel wäre es der Ordner ausweis direkt im Hauptverzeichnis.

      Gruß,

      moeck

    • Playertags / Player Menü nur für bekannte Personen sichtbar

      • moeck
      • 16. März 2017 um 09:34

      So hier mal das TuT

    • Playertags / Player Menü nur für bekannte Personen sichtbar

      • moeck
      • 16. März 2017 um 08:54

      Moin,

      da ja anscheinend Interesse besteht hier mal das TuT dafür. Leider habe ich es noch nicht geschafft das mit den PlayerTags ausführlich zu testen aber zu mindestens der Ausweis sowie Z Inventar und Schlüsselweitergabe funktionieren ;) . Kurz zum Hintergrund wir wollten auf unserem Server die Playertags abschalten, da man ja auch im echten Leben seinen Namen nicht über dem Kopf trägt :D. Leider gab es dann immer noch Leute die dann der Meinung waren das Z-Inventar bzw. die Schlüsselweitergabe dafür zunutzen sich die Namen der anderen Leute zu beschaffen. Also haben wir auch hier eine Filterfunktion eingebaut um das Z-Spotten zu unterbinden. Des Weiteren wollten wir aber keine permanten Ausweise nutzen und man "kennt" sich halt immer nur bis zum Weltuntergang.

      Sollte ihr die folgenden Erweiterung verwenden bitte ich Euch die Änderungen in den Dateien zu dokumentieren und mich als Modifier einzutragen!

      Hiermit untersage ich die Verbreitung des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.


      Also fangen wir mal an:

      1. Einbinden eines Ausweises:

      Öffnet Euere Functions.h in der Missiondatei

      C: Functions.h
      class Ausweis
          {
              file = "ausweis";
              class Ausweissehen {};
              class Ausweiszeigen {};
          };

      2. Erstellt 2 neue Dateien im Ordner ausweis

      C: fn_Ausweissehen.sqf
      //Author: PierreAmyf ### Some edits by Lost of Paradise (Sebi, Oktas, moeck)
      if(isServer)exitWith{};
      private["_msg","_unit"];
      _unit = _this select 0;
      life_known_Players pushBack _unit;
      _msg = _this select 1;
      hintSilent parseText _msg;

      Achtung in der Ausweiszeigen ist die einzige Stelle die sich je nach Version unterscheidet! Achja wenn ihr eine Version ab 4.x verwendet solltet ihr dann auch den Aufruf in der CFGRemote freigeben sonst kann es nicht funktionieren.

      C: fn_Ausweiszeigen.sqf
      //Author: PierreAmyf ### Some edits by Lost of Paradise (Sebi, Oktas, moeck) 
      if(isServer)exitWith{};
      private["_ziel", "_rang", "_marke", "_org", "_message", "_rang","_name"];
      if(vehicle player != player )exitWith{};
      _ziel = cursorTarget;
      if(isNull _ziel) then {_ziel = player;};    
      if(!(_ziel isKindOf "Man")) then {_ziel = player;};  
      if(!(alive _ziel)) then {_ziel = player;};
      if(player distance _ziel > 6) exitWith {hint parseText format ["<t color='#FFFF00'>Deine Arme sind viel zu kurz um den Ausweis zu zeigen! Geh näher ran.</t>"]}; // Nix mehr mit auf 500m Ausweis zeigen.
      switch(playerSide)do{
       case west:{
        switch (call life_coplevel) do{
         case 1: { _rang = "Paradise Police Dept."; };
         case 2: { _rang = "Zoll"; };
         case 3: { _rang = "Paradise Police Dept."; };
         case 4: { _rang = "Paradise Police Dept."; };
         case 5: { _rang = "Paradise Police Dept."; };
         case 6: { _rang = "Paradise Police Dept."; };
         case 7: { _rang = "Paradise Police Dept."; };
         default { _rank =  "Error";};
        };
        _marke = "marke_cop";
        _org = "Polizei Altis";
       };
       case east:{
        switch (call life_adaclevel) do{
         case 1: { _rang = "ADAC Praktikant"; };
         case 2: { _rang = "ADAC Azubi"; };
         case 3: { _rang = "ADAC Geselle"; };
         case 4: { _rang = "ADAC Techniker"; };
         case 5: { _rang = "ADAC Meister"; };
         case 6: { _rang = "ADAC Co.Chef"; };
         case 7: { _rang = "ADAC Chef"; };
         case 8: { _rang = "Leitung"; };
        };
        _marke = "marke_ziv";
        _org = "ADAC Altis";
       };
       case independent:{
        switch (call life_mediclevel) do{
         case 1: { _rang = "Ersthelfer"; };
         case 2: { _rang = "Rettungshelfer"; };
         case 3: { _rang = "Rettungsanitäter"; };
         case 4: { _rang = "Notfallsanitäter"; };
         case 5: { _rang = "ARS"; };   
         case 6: { _rang = "Lehrrettungsassistent"; };  
         case 7: { _rang = "ÄrztlicherLeiter"; };   
         default { _rank =  "Error";};
        };
        _marke = "marke_medic";
        _org = "Altis Rescue Service";
       };
       case civilian:{
        if(playerSide == civilian)then{
          _rang = "Zivilist";
          _org = "Republik Altis";
          _marke = "marke_ziv";
          // Gruppen spezifische Ausweise, wenn man möchte kann man Gruppierungsausweise hinterlegen. Die funktionieren nur, wenn man die Lizenz besitzt und einen entsprechenden Clantag oder Nachnamen trägt!
          if ((license_civ_group) && (name player find "Group" != -1)) then { _marke = "marke_group"; _org = "Group";};
              
        }else{
         _rang = "Zivilist";
         _marke = "marke_abi";
         _org = "Republik Altis";
        };  
       };
      };
      //Die Bilder müssen in einen entsprechenden Ordner abgelegt werden in unserem Fall icons
      _message = format["<img size='10' color='#FFFFFF' image='icons\%1.paa'/><br/><br/><t size='2.5' color='#F4FA58'>%2</t><br/><t size='1.8'>%3</t><br/><t size='1'>%4</t>",_marke, name player, _rang, _org];
      
      //Hier muss man den Aufruf ändern wenn man nicht die 3.1.4.8 verwendet! Ab 4.4 muss remoteExec verwendet werden! Bitte entsprechenden eurer Version den Aufruf nutzen.
      // bis 4.0
      [[player, _message],"life_fnc_Ausweissehen",_ziel,false] spawn life_fnc_MP;
      // 4.4 - 5.0
      //[player,_message] remoteExec ["life_fnc_Ausweissehen",_ziel];
      Alles anzeigen

      Folgenden Eintrag müsst ihr in der CfgRemoteExec.hpp einfügen, wenn ihr eine Version > 4.x verwendet.

      C: CfgRemoteExec.hpp
      F(life_fnc_Ausweissehen,ANYONE) 

      Achtung die Bilder für die Ausweise liegen bei uns im Ordner icons, falls ihr die wo anders ablegen wollt müsst ihr den Pfad in der Zeile _message anpassen. Bitte tauscht den Perso gegen Euere eigenen Bilder aus!

      Zum Testen könnt ihr die Bilder in den Ordner Icons schmeissen.

      3. Anlage der Variable zur Speicherung der Spieler

      C: configuration.sqf
      life_known_Players = [];

      So damit habt ihr erstmal den Ausweis eingefügt und ihr speichert die Leute, die euch den Ausweis gezeigt haben.

      4. Erweiterung fn_p_updateMenu.sqf

      Sucht nach dem folgendem Eintrag

      C: fn_p_updateMenu.sqf
      { if (player distance _x < 10) then {_near_units pushBack _x};} forEach playableUnits;

      und ersetz diesen mit diesem Eintrag.

      C: fn_p_updateMenu.sqf
      { life_known_Players pushBackUnique _x; } forEach (units(group player));
      { if((player distance _x < 10) && {_x in life_known_Players}) then {_near_units pushBack _x};} foreach playableUnits;

      Anschliessend müsst ihr das noch für den Schlüssel ebenfalls machen.

      5. Erweiterung fn_keyMenu.sqf

      Sucht wieder nach dem Eintrag

      C: fn_keyMenu.sqf
      { if (player distance _x < 20) then {_near_units pushBack _x};} forEach playableUnits;

      und ersetzt diesen durch den folgenden

      C: fn_keyMenu.sqf
      //Gruppenmitglieder sind immer bekannt ;-)
      { life_known_Players pushBackUnique _x; } forEach (units(group player));
      { if((player distance _x < 20) && {_x in life_known_Players}) then {_near_units pushBack _x};} foreach playableUnits;

      So jetzt haben wir das Z-Spotten unterbunden und es werden nur noch "Bekannte" im Z-Menü angezeigt sofern sie in Reichweite sind. 8)

      6. Playertags (nicht getestet)

      Da ich die letzten Tage unterwegs war hatte ich leider keine Zeit um hier einen ausführlichen Test durch zuführen. Sollte ich hier noch was ändern werde ich es natürlich hier dokumentieren bzw. meldet Euch falls es noch Fehler gibt.

      Sucht in der fn_playerTags.sqf nach

      Code
      _units = nearestObjects[(visiblePosition player),["Man","Land_Pallet_MilBoxes_F","Land_Sink_F"],50];

      und ersetzt den Eintrag durch

      C: fn_playerTags.sqf
      { life_known_Players pushBackUnique _x; } forEach (units(group player));
      _units = nearestObjects[(visiblePosition player),["Land_Pallet_MilBoxes_F","Land_Sink_F"],50];
      { if((player distance _x < 50) && {_x in life_known_Players}) then {_units pushBack _x};} foreach playableUnits;

      So damit hätten wir es auch schon geschafft. Ich wünsche Euch viel Spass damit.

      In eigener Sache falls Euch das Script gefällt und ihr unbedingt was dafür ausgeben wollt könnt ihr uns gern unterstützen.

      7. Funktion über das Mausrad verfügbar machen.

      C: fn_setupActions.sqf
      life_actions = life_actions + [player addAction["<t color='#FFFF00'>Ausweis zeigen</t>",life_fnc_Ausweiszeigen,"",1,false,true,"",'!isNull cursorTarget && cursorTarget isKindOf "Man"']];

      Damit kann man seinem Gegenüber erstmal den Ausweis zeigen und anschliessend ist er auch im Z-Menü sichtbar.


      Spoiler anzeigen

      Spende

      Gruß,

      moeck

      Dateien

      ausweise.zip 117,57 kB – 814 Downloads
    • Neue Einträge in die Datenbank

      • moeck
      • 10. März 2017 um 10:12

      Moin,

      je nachdem wo du das brauchst, also auf welche Seite kannst du das beim init mit abfragen.

      Code
      _queryResult = [_query,2] call DB_fnc_asyncCall;
      _uid = _queryResult select 0;
      _dein_feld = _queryResult select x; // x steht für die Stelle in der Abfrage der Counter beginnt bei 0
      
      if !(_dein_feld) then { //dein Code }; // bei false wird halt dein Code ausgeführt bei true passiert nix

      Könnte als ungefähr so aussehen.

      Gruß,

      moeck

    • Sperrzonensystem 2.1

      • moeck
      • 10. März 2017 um 09:21

      Moin,

      noch eine kleine Frage :saint: . Man kann in Zeile 13 doch bestimmt auch das Coplevel mit abfragen oder?

      Orginal:

      Code
      if(side player != west)exitWith{};

      Änderung:

      Code
      if((side player != west) || (call life_coplevel < 3 ))exitWith{};

      Es geht darum, dass Rekruten bzw. Praktikaten keine Sperrzone setzen können.

      Gruß,

      moeck

    • Neue Einträge in die Datenbank

      • moeck
      • 10. März 2017 um 08:27

      Moin,

      na du musst dann eine Query an die DB schicken und die das Ergebnis rausholen. Eventuell kannst Du ja mal das Script posten, dann kann man die helfen.

      Code
      _query = format["SELECT uid,...,"dein feld" from players WHERE playerid='%1'",_uid];
      waitUntil {!DB_Async_Active};
      [_query,2] call DB_fnc_asyncCall;

      Hier mal eine Standardabfrage ;)

      Gruß,

      moeck

    • Wiederbeleben von Beifahrer und Co

      • moeck
      • 10. März 2017 um 07:57

      Moin,

      da ich selbst momentan schlecht zum Testen komme stelle ich hier mal eine neue Version zur Verfügung. Eventuell kann die jemand mal testen und hier die Ergebnisse posten. Ich hatte gestern leider immer wieder das Phänomän, dass die Leichen mal sichtbar waren und dann wieder nicht.

      C: fn_vehicleDead.sqf
      /*
          File: fn_vehicleDead.sqf
          modified by moeck
          Description:
          Tells the database that this vehicle has died and can't be recovered.
      */
      private["_vehicle","_plate","_uid","_query","_sql","_dbInfo","_thread"];
      _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      hint str _vehicle;
      if(isNull _vehicle) exitWith {}; //NULL
      
      _dbInfo = _vehicle getVariable["dbInfo",[]];
      if(count _dbInfo == 0) exitWith {};
      _uid = _dbInfo select 0;
      _plate = _dbInfo select 1;
      
      _query = format["UPDATE vehicles SET alive='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      
      waitUntil {!DB_Async_Active};
      _thread = [_query,1] call DB_fnc_asyncCall;
      
      //sleep (1.3 * 60);
      if(!isNil "_vehicle" && {!isNull _vehicle}) then {
          diag_log format["Vehicle are here %1" count _vehicle];
          _dudes = crew _vehicle;
          diag_log format["Dudes %1", count _dudes];
          {
              if !(alive _x) then
              {
                  diag_log format["Dude %1, %2", getPlayerUID _x,_x getVariable["realname", name _x]];
                  /*_newPos = (getPos _vehicle) findEmptyPosition [(random 5), 10];
                  _handle = [[_x,_newPos,_vehicle],"TON_fnc_relocateDead",true,false] spawn life_fnc_MP;
                  waitUntil { scriptDone _handle };*/
                  moveOut _x;
                  unassignVehicle _x;
              };
          
          } forEach _dudes;
          uisleep (1.3 * 60);
          diag_log format["Delete %1", _vehicle];
          deleteVehicle _vehicle;
      };
      Alles anzeigen

      Ich habe jetzt mal ein paar Logausgaben mit eingebaut um einem Fehler auf die Spur zu kommen.

      Gruß,

      moeck

    • Playertags / Player Menü nur für bekannte Personen sichtbar

      • moeck
      • 9. März 2017 um 19:43

      Moin,

      das Ganze funzt komplett ohne Anpassung an einem SQL Statement ;) . Wie gesagt ich werde ein TUT erstellen so bald ich wieder zugang zum Rechner habe. Ausserdem gilt das auch immer nur für die Server Periode, da es sonst zweck frei ist. Wir nutzen keine permanenten Ausweise bzw. IDs sondern man kann den Namen ändern.

      Gruß,

      moeck

    • Sperrzonensystem 2.1

      • moeck
      • 9. März 2017 um 16:10

      Moin,

      Stig sehr geil der Mod. Ich hätte nur eine ganz kleine Bitte ;) . Ich bräuchte theoretisch Sperrzonen bis 2km statt 1km. Kann man das irgendwo einstellen?

      Gruß,

      moeck

    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™