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: 24 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum
    6. Archiv

    Scripts Serverseitig machen + Datenbank

    • RAinZz5718
    • 4. Februar 2016 um 16:34
    • Geschlossen
    • RAinZz5718
      Anfänger
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      57
      • 4. Februar 2016 um 16:34
      • #1

      Hallo NN Community,

      1.
      wie kann ich Script Serverseitig machen?
      Vielleicht weiß ja jemand wie das geht.
      Habe mich leider mit dem noch nie beschäftigt :whistling:

      2.
      Wie kann man was an die Datenbank schicken?
      z.B. Ich will jetzt eine Zahl auf der DB speichern und dies soll es wenn man auf den Server Joint abrufen.
      Ich habe mich noch nie richtig mit Datenbanken beschäftigt;(

      Würde mich über eine Antwort freuen.
      Mit freundlichen Grüßen
      RAinZz5718

      Einmal editiert, zuletzt von RAinZz5718 (4. Februar 2016 um 17:00)

    • RAinZz5718
      Anfänger
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      57
      • 5. Februar 2016 um 15:34
      • #2

      #push

    • RAinZz5718
      Anfänger
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      57
      • 5. Februar 2016 um 17:31
      • #3

      #push

    • Jonas
      Anfänger
      Reaktionen
      10
      Trophäen
      11
      Beiträge
      51
      Bilder
      5
      • 5. Februar 2016 um 19:16
      • #4

      Hilft auch nicht wenn du 100x push schreibst.

      Zu Punkt 1:
      Du musst dir überlegen ob das Script unbedingt Clientseitig ausgeführt werden muss, z.B. wenn eine Progressbar enthalten ist oder lokale Fahrzeuge gespawnt werden, dann würde ich an deiner Stelle das hier benutzen: [HOWTO]Protect Your Code From Rippers - Script Releases - Altis Life RPG

      Ansonsten kannst du einfach auf dem Life_server ein Script erstellen und in die Config.cpp eintragen z.B. TON_fnc_loescheruseserver, diese kannst du dann über life_fnc_mp oder remoteExecCall aufrufen und der die Parameter weiter geben. Wenn der Client über Hint etc. benachrichtigt werden soll kannst du life_fnc_broadcast verwenden.


      Zu Punkt 2:
      Ich weiß jetzt nicht genau was du meinst aber hier ein einfaches Beispiel:

      Code
      waitUntil{!DB_Async_Active};
      _query = format["SELECT pid, typ, price, randomid  FROM auktionen WHERE active='1' LIMIT %1,10",_x];
      _queryResult = [_query,2,true] call DB_fnc_asyncCall;


      Das waitUntil ist dafür da um zuwarten bis grade keine anderen Querys ausgeführt werden.
      Die Variable _query beinhaltet die Abfrage und mit DB_fnc_asyncCall wird der Befel ausgeführt. Wenn du z.B. für jeden Spieler eine Zahl speichern willst erstellst du 1. in der Tabelle players ein Attribut (Spalte) mit einem beliebigen Namen und dem Datentyp long int oder int, dem dann z.B. den Standardwert 0 geben.
      Dann kannst du in der fn_queryRequest in die querys den Namen deines Attributs hinzufügen und über den über select und dem richtigen Index die Funktion DB_fnc_numberSafe aufrufen z.B. so

      Code
      _tmp = _queryResult select 3;
      _queryResult set[3,[_tmp] call DB_fnc_numberSafe];

      und das kannst du dann über die fnc unter core/session/fn_requestReceived über select verwenden.


      Lg

    • xjoniassx
      Schüler
      Reaktionen
      26
      Trophäen
      11
      Beiträge
      116
      • 5. Februar 2016 um 19:36
      • #5

      Zu 1. das: [HOWTO]Protect Your Code From Rippers - Script Releases - Altis Life RPG

      Zu 2.
      (Kann ich nur mit [lexicon]extDB[/lexicon] 35 sagen, kp von den anderen ;))

      Ich erkläre dir wie du Daten aus der DB raus bekommst, wie du sie rein kriegst solltest du dann selbst testen ;)
      Als erstes in irgend eine Init z.b. init_survival rein oder eine neue SQF erstellen wie auch immer :P
      Da kommst das rein:

      Code
      private["_uid"];
      _uid = getPlayerUID player;
      [[player,_uid],"DB_fnc_DatenAbrufen",false,false] spawn life_fnc_MP;


      wie man sieht geht´s in den Server rein, dort erstellt man die Datei und trägt sie in die Config ein.


      Code
      _player = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _player = owner _player;
      _uid = [_this,1,"",[""]] call BIS_fnc_param;
      _query = format["playerAskDaten:%1",_uid];
      waitUntil{sleep (random 0.3); !DB_Async_Active};
      _queryResult = [_query,2,true] call DB_fnc_asyncCall;
      _queryResult = _queryResult select 0;
      _Daten = _queryResult select 0;
      	[[_Daten],"life_fnc_VarDaten_set",_player,false] spawn life_fnc_MP;

      waitUntil{sleep (random 0.3); !DB_Async_Active}; Nicht bei extDB2!


      Beispiel ist mit nur einem Datensatz, mann kann das ganze erweitern mit mehr _Daten2 = _queryResult select 1; e.t.c.


      Bei _query = format["playerAskDaten:%1",_uid]; geht es nach [lexicon]extDB[/lexicon]. Das %1 ist die _uid die wir ganz am anfang auf die variable gesetzt haben (_uid = getPlayerUID player;) Damit [lexicon]extDB[/lexicon] weiß wo die Daten sein sollen ;)

      [lexicon]extDB[/lexicon] muss aber wissen was es mit playerAskDaten machen muss, daher nach [lexicon]extDB[/lexicon]/db_custom/ Altis life config
      Dort einen neuen Eintrag erstellen,

      Code
      [playerAskDaten]
      ;;
      SQL1_1 = SELECT DATENBANKSPALTE FROM DATENBANKNAME WHERE playerid=?;
      SQL1_INPUTS = 1
      Number of Inputs = 1
      OUTPUT = 1-String
      ;;______________________________________________________________

      DATENBANKSPALTE und DATENBANKNAME natürlich mit dem richtigen Inhalt füllen. DATENBANKNAME bitte nicht mit arma3life ausfüllen, sondern PLAYERS oder WANTED, e.t.c.

      Gibt aber auch andere befahle z.b.
      INSERT INTO DATENBANKNAME (1, 2, 3, xD, lol)
      UPDATE DATENBANKNAME
      oder du kannst playerid=?; mit z.b. ID=1; ersetzen blah :P


      Nachdem extDD fertig ist schickt unser kleines script das ganze wieder zum Client [[_Daten],"life_fnc_VarDaten_set",_player,false] spawn life_fnc_MP;
      Ich mache das so das ich die empfangenen Daten beim Client zu einer Variable setze um damit zu arbeiten, du kannst machen was auch immer du willst.
      Bei mit sieht das dann so aus:

      Code
      private["_daten"];
      _daten = [_this,0,0,["Fehler"]] call BIS_fnc_param;
      DATEN = _daten;
      
      
      
      
      
      
      
      hintSilent parseText format["Abrufen Getestet ( %1 )", DATEN]; //Zum testen ;)
      Alles anzeigen

      Server Adresse: altis.minefactory.eu

      TS: ts.minefactory.eu

      minefactory.eu

    • RAinZz5718
      Anfänger
      Reaktionen
      18
      Trophäen
      11
      Beiträge
      57
      • 5. Februar 2016 um 19:55
      • #6

      Ok danke werde ich gleich mal ausprobieren :thumbup:

    • SirFluffyVonKitten
      Nerd
      Reaktionen
      407
      Trophäen
      11
      Beiträge
      798
      Bilder
      3
      • 13. Februar 2016 um 22:29
      • #7

      Da als erledigt markiert
      [modclose][/modclose]

    • nox 25. März 2023 um 00:43

      Hat das Thema aus dem Forum Hilfeforum - ArmA 3 nach Archiv verschoben.

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • Altis Life
    • Datenbank
    • scripts
    • Serverseitig
    • machen

    Benutzer online in diesem Thema

    • 1 Besucher

    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™