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: 10 Juli 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. DerL30N

    Beiträge von DerL30N

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 9. Oktober 2017 um 22:29
      Zitat von Zeilord

      bei denn Punkten

      Es heißt den Punkten, weil "den" ein Artikel ist und vor einem Nomen steht. "Denn" o.A. "denn" ist eine Konjunktion.

      Ist es denn so schwer....

      sry das ich es ausgerechnet dir sage, aber ich lese das in letzter Zeit nur noch und es nerft einfach. Bei dass und das kann ich das ja noch verstehen, wobei da die Probe mit welche helfen kann.

      Also ist jetzt echt nichts persönliches oder so, nimm es mir bitte nicht übel

    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 9. Oktober 2017 um 20:58
      Zitat von GermanBolle

      Guten Morgen,

      Ich wollte mal fragen ob man die Position ändern kann. So das es nicht oben Rechts ist sondern Oben in der Mitte vom Monitor.

      Ja das ist möglich! Sry für die blöde Aussage jetzt aber musst selber wissen wie ^^. Also einen Tipp kann ich dir geben, guck dir mal die Dialog File an und wirf man einen blick auf das Script, denke dass du dann von ganz selber zur Lösung kommst.

      LG Leon

      PS: Es lässt sich alles programmieren, es braucht nur das nötige KnowHow ^^

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 9. Oktober 2017 um 20:56
      Zitat von Zeilord

      Moin moin
      also habe kleines Problem ....
      so bald ich in ein Auto einsteige blob Fenster auf wo drin steht : Resource title vehinfo not found.
      Bin das tut jetzt mehrfach durch gegangen =/ und selbst so geschaut wo der Fehler sein sein könnte =/
      Weis einer von euch was es sein könnte?

      Habe auch mal mein Arma 3 Log mit hoch geladen

      Arma3_x64_2017-10-08_20-03-48.rpt

      Alles anzeigen

      Ich würde erstmal darauf tippen, dass du die hpp file nicht korrekt eingebunden hast, entweder in der Master.hpp oder das der Fehler in der description.ext liegt... Bin gerade nicht im Bilde wie das Script da genau die Dialog File einbindet, aber das steht ja im TuT... Also wie gesagt, er versucht den Dialog zu öffnen aber findet ihn nicht, d.H. dass du deiner Mission beibringen musst, dass die Dialogfile existiert und ein RSC_Titel ist...

      Und kleiner Tipp am rande, du hast tausende Script errors die du beheben kannst....das solltest du auch tun...

      LG Leon

    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 1. September 2017 um 16:29
      Zitat von joacheim

      Ich verwende aktuell die Version 4.5 und habe versucht das Nachrichtensystem einzubinden.

      hier ein Screenshot vom fehler

      Folgende Datei muss erstellt und entsprechend eingebunden werden:

      Location: AltisLife.Altis\derleon\msg

      Code: common.hpp
      class msg_text {
       type = 0;
       style = 0;
       shadow = 1;
       colorShadow[] = {0, 0, 0, 0.5};
       font = "PuristaSemibold";
       SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
       text = "";
       colorText[] = { 1 , 1 , 1 , 1 };
       colorBackground[] = {0, 0, 0, 0};
      };
      class msg_sText {
       type = 13;
       style = 0;
       shadow = 1;
       colorShadow[] = {0, 0, 0, 0.5};
       //font = "PuristaMedium";
       font = "PuristaSemibold";
       text = "";
       size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
       colorText[] = {1, 1, 1, 1.0};
       colorBackground[] = {0, 0, 0, 0};
      
      
      
      
       class Attributes {
       color = "#ffffff";
       align = "center";
       shadow = 1;
       };
      };
      Alles anzeigen

      Ebenfalls im selben Verzeichnis:

      Zitat von DerL30N

      Nun erstellen wir den Ordner derleon im Mission-Hauptverzeichnis und erstellen darin folgende Datei : ( Sollte diese bei euch schon vorhanden sein, dann müsst ihr folgendes ergänzen )
      C: Scripts_Master.hpp
      #define true 1
      #define false 0
      #include "msg\common.hpp"
      #include "msg\msg.hpp"
      class Message_Settings {
      //overlap = true; // TRUE -> simpl messages can be overlapped
      /*Stuff you can edit on your own*/
      noBar = false; // TRUE -> colorbar not visible in simple messages
      sound = "Hint"; // Here you can change the normal message sound with the name of your sound class
      soundSec = "Hint"; // Here you can change the simple message sound with the name of your sound class
      noSound = false; // TRUE -> disables the sound on normal messages
      noSoundSec = true; // TRUE -> disables the sound on simple messages
      rscLayer = 20; // 20 -> the layer on hud the dialog will create
      kindOfCutRsc = "PLAIN"; // "PLAIN" -> the kind of CutRsc
      fadein = 0.2; // 0.2 -> The fadein duration | default hint could be 0
      baseTitel = "Notification"; // The standart text for the case that no titel param is given
      baseColor = "lightblue"; // The standart color for the case that no color param is given
      };
      class Colors {
      /*Example:
      define class as name of your color
      class nameOfColour {
      rgba[] = { x, x, x, 0.7 }; Important is that you ceep the last number in this array at 0.7, these is the alpha channel
      };Replace X with numbers
      */
      //Colors for colorbar
      class red {
      rgba[] = { 0.92, 0, 0.51, 0.7 };
      };
      class orange {
      rgba[] = { 0.92, 0.51, 0, 0.7 };
      };
      class yellow {
      rgba[] = { 0.96, 0.9, 0, 0.7 };
      };
      class green {
      rgba[] = { 0.16, 0.95, 0, 0.7 };
      };
      class turquoise {
      rgba[] = { 0.79, 0, 0, 0.7 };
      };
      class lightblue {
      rgba[] = { 0, 0.49, 0.8, 0.7 };
      };
      class blue {
      rgba[] = { 0, 0.11, 0.74, 0.7 };
      };
      class darkblue {
      rgba[] = { 0.05, 0.03, 0.38, 0.7 };
      };
      class purple {
      rgba[] = { 0.37, 0.06, 0.56, 0.7 };
      };
      class pink {
      rgba[] = { 0.7, 0.22, 0.46, 0.7 };
      };
      };Alles anzeigen

      Alles anzeigen

      Und dann entsprechend in der description.ext einbinden...

      Code: description.ext
      #include "derleon\Scripts_Master.hpp"
      
      
      
      
      class RscTitles {
       #include "derleon\msg\msg.hpp"
      };
      
      
      
      
      class CfgFunctions {
       #include "Functions.hpp"
      };
      Alles anzeigen


      Irgendwo dort hast du höchstwahrscheinlich einen Fehler...überprüfe noch mal alles oder gehe das TuT noch mal von A bis Z durch und überprüfe ggf. mal deine Klammersetzung von "{","}; ", "[", "];" etc...

      LG Leon

    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 24. August 2017 um 12:59
      Zitat von Rapumpel T

      Habe ein kleines Problem ...

      FTP log:
      Warning Message: File mpmissions\__cur_mp.Altis\derleon\msg\msg.hpp, line 10: /CfgNotifications/RscTitles/msg/controlsBackground.background: Undefined base class 'msg_sText'

      --

      Code
      class msg {
      idd = -1;
      duration = 180;
      movingEnable = 0;
      fadein = 1;
      fadeout = 3;
      name = "msg";
      onLoad="uiNamespace setVariable ['msg',_this select 0]";
      objects[] = {};
      class controlsBackground {
      class background: msg_sText
      {
      idc = 9004;
      x = 0.840312 * safezoneW + safezoneX;
      y = 0.104 * safezoneH + safezoneY;
      w = 0.149531 * safezoneW;
      h = 0.132 * safezoneH;
      colorBackground[] = {-1,-1,-1,0.7};
      };
      };
      class controls {
      class titel: msg_sText
      {
      idc = 9001;
      text = "";
      x = 0.842468 * safezoneW + safezoneX;
      y = 0.115 * safezoneH + safezoneY;
      w = 0.142219 * safezoneW;
      h = 0.033 * safezoneH;
      };
      class colorbar: msg_text
      {
      idc = 9002;
      x = 0.845469 * safezoneW + safezoneX;
      y = 0.148 * safezoneH + safezoneY;
      w = 0.139219 * safezoneW;
      h = 0.0055 * safezoneH;
      };
      class messagebox: msg_sText
      {
      idc = 9003;
      text = "";
      x = 0.845469 * safezoneW + safezoneX;
      y = 0.159 * safezoneH + safezoneY;
      w = 0.139219 * safezoneW;
      h = 0.066 * safezoneH;
      };
      };
      };
      class msg_simpl {
      idd = -1;
      duration = 180;
      movingEnable = 0;
      fadein = 1;
      fadeout = 3;
      name = "msg_simpl";
      onLoad="uiNamespace setVariable ['msg_simpl',_this select 0]";
      objects[] = {};
      class controlsBackground {
      class background: msg_sText
      {
      idc = 9003;
      x = 0.840312 * safezoneW + safezoneX;
      y = 0.104 * safezoneH + safezoneY;
      w = 0.149531 * safezoneW;
      h = 0.132 * safezoneH;
      colorBackground[] = {-1,-1,-1,0.7};
      };
      };
      class controls {
      class colorbar: msg_text
      {
      idc = 9001;
      x = 0.845469 * safezoneW + safezoneX;
      y = 0.104 * safezoneH + safezoneY;
      w = 0.139219 * safezoneW;
      h = 0.0055 * safezoneH;
      };
      class messagebox: msg_sText
      {
      idc = 9002;
      x = 0.845469 * safezoneW + safezoneX;
      y = 0.115 * safezoneH + safezoneY;
      w = 0.139219 * safezoneW;
      h = 0.066 * safezoneH;
      };
      };
      };
      Alles anzeigen

      Tut mir echt mega leid, aber irgendwie habe ich keine Info darüber bekommen, dass es hier im TuT einen neuen Beitrag gibt....

      ich fürchte, dass du die common.hpp, welche ich auch mitgebe nicht eingebunden hast: guck mal hier:

      Achte Dabei mal auf die beiden #include, welche sich in Zeile 3-4 befinden sollten...

      C: Scripts_Master.hpp
      #define true 1
      #define false 0
      #include "msg\common.hpp"
      #include "msg\msg.hpp"
      class Message_Settings {
      //overlap = true; // TRUE -> simpl messages can be overlapped
      /*Stuff you can edit on your own*/
      noBar = false; // TRUE -> colorbar not visible in simple messages
      sound = "Hint"; // Here you can change the normal message sound with the name of your sound class
      soundSec = "Hint"; // Here you can change the simple message sound with the name of your sound class
      noSound = false; // TRUE -> disables the sound on normal messages
      noSoundSec = true; // TRUE -> disables the sound on simple messages
      rscLayer = 20; // 20 -> the layer on hud the dialog will create
      kindOfCutRsc = "PLAIN"; // "PLAIN" -> the kind of CutRsc
      fadein = 0.2; // 0.2 -> The fadein duration | default hint could be 0
      baseTitel = "Notification"; // The standart text for the case that no titel param is given
      baseColor = "lightblue"; // The standart color for the case that no color param is given
      };
      class Colors {
      /*Example:
      define class as name of your color
      class nameOfColour {
      rgba[] = { x, x, x, 0.7 }; Important is that you ceep the last number in this array at 0.7, these is the alpha channel
      };Replace X with numbers
      */
      //Colors for colorbar
      class red {
      rgba[] = { 0.92, 0, 0.51, 0.7 };
      };
      class orange {
      rgba[] = { 0.92, 0.51, 0, 0.7 };
      };
      class yellow {
      rgba[] = { 0.96, 0.9, 0, 0.7 };
      };
      class green {
      rgba[] = { 0.16, 0.95, 0, 0.7 };
      };
      class turquoise {
      rgba[] = { 0.79, 0, 0, 0.7 };
      };
      class lightblue {
      rgba[] = { 0, 0.49, 0.8, 0.7 };
      };
      class blue {
      rgba[] = { 0, 0.11, 0.74, 0.7 };
      };
      class darkblue {
      rgba[] = { 0.05, 0.03, 0.38, 0.7 };
      };
      class purple {
      rgba[] = { 0.37, 0.06, 0.56, 0.7 };
      };
      class pink {
      rgba[] = { 0.7, 0.22, 0.46, 0.7 };
      };
      };
      Alles anzeigen
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 23. August 2017 um 21:30

      JohnnyWalker um deine Frage zu beantworten schau mal unten in den Code

      Code
      //if(_shop == "medic" && playerSide != independent) exitWith { ["TEST","MHH",1,"red"] call MSG_fnc_handle; };
      if(_shop == "medic" && playerSide != independent) exitWith { ["Du bist kein Sanitäter"] call MSG_fnc_handle; };
      if(_shop == "cop" && playerSide != west) exitWith { [(localize "STR_NOTF_NotACop")] call MSG_fnc_handle; };
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 23. August 2017 um 21:22
      Zitat von JohnnyWalker

      So habe nun mehre Variationen probiert, und es passiert garnichts.

      Spoiler anzeigen

      if(_shop == "medic" && playerSide != independent) exitWith {[TEST,MHH,1,red] call MSG_fnc_handle;};

      Spoiler anzeigen

      if(_shop == "medic" && playerSide != independent) exitWith ["TEST","MHH","1","red"] call MSG_fnc_handle;

      Spoiler anzeigen

      if(_shop == "medic" && playerSide != independent) exitWith {[TEST,MHH,1,red] call MSG_fnc_handle};

      Selbst ohne exitWith, aber es passiert garnichts. Benutze die 3.1.4.8

      Standart wäre das hier

      Spoiler anzeigen

      /*

      File: fn_virt_menu.sqf

      Author: Bryan "Tonic" Boardwine

      Description:

      Initialize the virtual shop menu.

      */

      private["_shop"];

      _shop = _this select 3;

      if(isNil {_shop}) exitWith {};

      life_shop_type = _shop;

      life_shop_npc = _this select 0;

      if(_shop == "cop" && playerSide != west) exitWith {hint localize "STR_NOTF_NotACop"};

      if(_shop == "medic" && playerSide != independent) exitWith {hint "Du bist kein Sanitäter"};

      createDialog "shops_menu";

      [] call life_fnc_virt_update

      Bin echt überfragt nun ^^

      Alles anzeigen

      Wie folgt siehst das Format aus, welches das Script annimmt:

      Zitat von DerL30N

      1 Parameter : [Text]


      2 Parameter : [Text,Titel] OR [Text,Color] OR [Text,Simple]


      3 Parameter : [Text,Titel,Color] OR [Text,Titel,Simple] OR [Text,Color,Simple]


      4 Parameter : [Text,Titel,Color,Simple]

      Text, Titel und Color müssen als String angegeben werden! ( D.H. -> "[Text","Titel","red"]

      Simple mit true oder false!

      Wie du oben sehen kannst, müssen nicht immer alle Variablen angegeben werden, somit kannst du dir Zeit sparen!

      Hier noch mal die Erklärung aus der Erklärung ;(

      Zitat von DerL30N

      Parameter


      In dieser Version stehen vier sogenannter Parameter zur Verfügung :


      [_text,_title,_color,_simpl] call MSG_fnc_handle; oder [_text,_title,_color,_simpl] remoteExec ["MSG_fnc_handle",_target];


      _text ist der erste Parameter, dieser geht IMMER vorweg, er steht für euren Text
      _titel ist der Parameter für euren Titel, dieser muss nicht angegeben werden, wird er aber angeben, so muss er nach dem ersten Parameter ( _text ) stehen.
      _color ist der Parameter für die Colorbar, mit ihm könnt ihr die Farbe dessen verändern. Auch dieser Parameter muss nicht angegeben werden, wird er angegeben, so muss er nach dem zweiten Parameter ( _titel ) stehen.
      _simpl ist der Parameter, der zwischen der normalen und der vereinfachten Dialogform wechseln kann. Auch dieser Parameter muss nicht angegeben werden, wird er angegeben, so muss er nach dem dritten Parameter ( _color ) stehen.


      Der Standardwert der Parameter


      _text hat keinen Standardwert, da ihr einen Text angeben müsst, welchen ihr ausgeben wollt.
      _titel hat den Standardwert "Notification" ( dieser kann geändert werden in der HPP), wird kein Parameter angegeben, so wird dieser Wert verwendet.
      _color hat den Standardwert "lightblue" ( dieser kann geändert werden in der HPP), wird kein Parameter angegeben, so wird dieser Wert verwendet.
      _simpl hat den Standardwert "false" ( dieser kann geändert werden in der HPP), wird kein Parameter angegeben, so wird dieser Wert verwendet.


      Wenn man diese Regel beachtet, sind folgende Parameter möglich :


      1 Parameter : [Text]


      2 Parameter : [Text,Titel] OR [Text,Color] OR [Text,Simple]


      3 Parameter : [Text,Titel,Color] OR [Text,Titel,Simple] OR [Text,Color,Simple]


      4 Parameter : [Text,Titel,Color,Simple]

      Alles anzeigen
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 1. August 2017 um 21:53
      Zitat von perx

      Nein, der Balken ist nicht in der StringTable festgelegt, der kommt vom hier genannten Script.

      Du müsstest, falls ich mich nicht irre, einfach nur die Datei finden, in der der Hint zum Kauf ausgegeben wird und dort eben den befehl wie oben genannt umändern auf den neuen.

      JohnnyWalker genau so wird es gemacht, aber du kannst noch einiges in der Hpp einstellen...

    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 31. Juli 2017 um 17:48
      Zitat von Tallion

      Bekomme ich es irgendwie hin das da auch € angezeigt wird? Weil das € Symbol einfach unsichtbar wird. Beim Hint funktioniert € ja auch.

      Check mal die Common Hpp und zwar guck mal das du vlt den selben Font Style nimmst wie Arma 3 selber oder wie das font von Life

      Dieser Font Type könnte solche Symbole nicht unterstützen : font = "PuristaSemibold";

      Line 6 und 18....

      Code: Common.hpp
      class msg_text {
       type = 0;
       style = 0;
       shadow = 1;
       colorShadow[] = {0, 0, 0, 0.5};
       font = "PuristaSemibold";
       SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
       text = "";
       colorText[] = { 1 , 1 , 1 , 1 };
       colorBackground[] = {0, 0, 0, 0};
      };
      class msg_sText {
       type = 13;
       style = 0;
       shadow = 1;
       colorShadow[] = {0, 0, 0, 0.5};
       //font = "PuristaMedium";
       font = "PuristaSemibold";
       text = "";
       size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
       colorText[] = {1, 1, 1, 1.0};
       colorBackground[] = {0, 0, 0, 0};
      
      
      
      
       class Attributes {
       color = "#ffffff";
       align = "center";
       shadow = 1;
       };
      }
      Alles anzeigen
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 30. Juli 2017 um 14:10
      Zitat von Tallion

      Kann man denn die Zeit ein bisschen verringern, wo die Nachricht angezeigt wird?

      Ja kann man..

      Guck dir mal diese Line an : Line 3 duration, dort kannst du die dauer ändern...

      Code: msg.hpp
      idd = -1;
      duration = 180;
      movingEnable = 0;
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 30. Juli 2017 um 14:05
      Zitat von Alex

      Hallo,

      könnte man es so scripten, dass die alte Nachricht mit einer neuen überschrieben werden kann, falls eine eingehen sollte?

      Wäre sehr dankbar, weil ich blicke mit den ganzen Dialogen da eher weniger durch, eine Erklärung dazu wäre ganz hilfreich :)

      MfG.

      Also wenn du möchtest, dass er nicht wartet, dann denke ich ist das hier hilfreich...

      lösche die beiden Zeilen mit waitUntil....

      Code: FN_CTRL.SQF
      };
       waitUntil { sleep 0.1; (!isNull _display) };
       waitUntil { sleep 0.1; (isNull _display) };
       msg_array = msg_array - [_msg];
      }
    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 30. Juli 2017 um 13:56
      Zitat von Alex

      Ja, allerdings will ich das so haben, dass die Nachricht sofort überschrieben wird und nicht erst, wenn die alte verschwindet.

      Tut mir jetzt echt leid wenn ich noch mal frage, aber warum willst du dann dieses Script nutzen, wessen Funktion und Intention ja genau diese ist, Nachrichten für eine gewisse dauer anzeigen zu lassen, damit man sie lesen kann bevor die nächste Nachricht angezeigt wird...

      Also das war die Grundidee dieses Scriptes, was ich glaube ich auch ganz am Anfang geschrieben habe :

      Zitat von DerL30N

      Guten Tag,

      heute möchte ich euch mein "Message System" vorstellen.

      Kennt ihr das, wenn ihr einen Hint (Nachricht oben rechts in der Ecke) bekommt und dieser dann direkt durch den Nächsten ersetzt wird ?
      Möchtest du etwas dagegen unternehmen ?, dann lies dieses Tutorial!
      .....

      Nimm mir das jetzt nicht böse, aber ich verstehe nicht was du von mir willst....

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 29. Juli 2017 um 10:39
      Zitat von Schulz_lp

      ich glaube die zeile 274 ist auch falsch. ich glaube da meinst du 275

      Eine Zeile drüber oder drunter kann mal passieren je nach dem was so geändert wurde.... jedenfalls der Kontext, bzw die Funktion oder Intention der Änderung sollte doch eigentlich klar erkennbar sein oder nicht ?

      sonst noch mal :

      Folgendes _ok = cutRsc["vehInfo","PLAIN"]; durch 18 cutRsc["vehInfo","PLAIN"]; ersetzen. ( Zeile 85 oder 86 )

      Folgendes cutRsc ["Default","PLAIN"]; durch 18 cutText ["","PLAIN"]; ersetzen. ( Zeile 274 oder 275 )

    • [Tutorial][Message System][V1.1] Alternative für Hints & Co.

      • DerL30N
      • 29. Juli 2017 um 10:31
      Zitat von Alex

      Hallo,

      könnte man es so scripten, dass die alte Nachricht mit einer neuen überschrieben werden kann, falls eine eingehen sollte?

      Wäre sehr dankbar, weil ich blicke mit den ganzen Dialogen da eher weniger durch, eine Erklärung dazu wäre ganz hilfreich :)

      MfG.

      Wenn ich das jetzt wo verstehe wie du es vlt meinst, dann wären wir wieder bei der normalen Hint Funktion....

      Also die Nachrichten werden ja "mit neuen überschrieben" aber dauert es kurze Zeit bis man diese sieht, da die Aktuelle ( also die alte Nachricht ) noch angezeigt ist.

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 22:04
      Zitat von Saturin78

      Erweiterung für HeadlesClient:

      1. in der Datein CfgRemoteExec.hpp falls noch nciht vorhanden das unten bei HC einfügen:

      C: CfgRemoteExec.hpp
      //Fahrzeug Informations System
              F(HC_fnc_vehicleInfoUpdate,HC)

      2. im HeadlesClient @life_hc einen Ordner unter MySQL erstellen mit dem Namen Vis

      3. in diesen Ordnerdiese fn_vehicleInfoUpdate.sqf erstellen:

      C: fn_vehicleInfoUpdate.sqf
      #include "\life_hc\hc_macros.hpp"
      /*
          File: fn_vehicleInfoUpdate.sqf
          Author: Leon "DerL30N" Beeser
          Description:
          Stores/reads the vehicle informations of VIS in db
      */
      private["_ret","_vehicle","_read","_vInfo","_plate","_uid","_query","_tickTime","_queryResult"];
      _ret = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      _vehicle = [_this,1,objNull,[objNull]] call BIS_fnc_param;
      _read = [_this,2,false,[true]] call BIS_fnc_param;
      _data = [_this,3,[],[[]]] call BIS_fnc_param;
      if (isNull _ret) exitWith {};
      _ret = owner _ret;
      if (isNull _vehicle) exitWith {};
      
      _vInfo = _vehicle getVariable ["dbInfo",[]];
      if (count _vInfo > 0) then {
          _plate = _vInfo select 1;
          _uid = _vInfo select 0;
      };
      
      diag_log format["--- VIS -> DB -> Starting DB for %1 ---",_ret];
      
      if (!_read) exitWith {
          // update
          _query = format["UPDATE vehicles SET vis='%3' WHERE pid='%1' AND plate='%2'", _uid, _plate, _data];
          [_query,1] call DB_fnc_asyncCall;
          diag_log "--- VIS -> Saving -> Perm Vehicle -> DB done ---";    
      };
      
      if (count _vInfo isEqualTo 0) exitWith {};
      
      _query = format["SELECT vis FROM vehicles WHERE pid='%1' AND plate='%2'", _uid, _plate];
      
      _tickTime = diag_tickTime;
      _queryResult = [_query,2] call DB_fnc_asyncCall;
      
      if (EXTDB_SETTING(getNumber,"DebugMode") isEqualTo 1) then {
          diag_log "------------- Client Query Request -------------";
          diag_log format["QUERY: %1",_query];
          diag_log format["Time to complete: %1 (in seconds)",(diag_tickTime - _tickTime)];
          diag_log format["Result: %1",_queryResult];
          diag_log "------------------------------------------------";
      };
          
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };
      
      diag_log format["--- VIS -> DB -> Returning result -> %1 ---",_queryResult];
      [_queryResult,true] remoteExec ["life_fnc_visVehInfo",_ret];
      Alles anzeigen

      4. in der config.cpp im life_hc diese Neue Class unter Class General einfügen:

      C: config.cpp
      class VisdbHC {
                  file = "\life_hc\MySQL\Vis";
                  class vehicleInfoUpdate {};
              };

      5. in der Datei fn_insertVehicle.sqf auf dem life_hc die Zeile 23 durch das ersetzen:

      C: fn_insertVehicle.sqf
      _query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      
      ersetzen durch:
      
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
      Alles anzeigen

      Super vielen dank dass du es teilst wie es funktioniert. Außerdem ein sehr überschaubares Tut ^^

      Saturin78 Wie immer eine gute Zusammenarbeit :P:thumbup:

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 21:34

      Saturin78 und du musst natürlich alle sachen vom vis die in der life_server sind dann auch aufn HC packen

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 21:28
      Zitat von Saturin78

      ah super, danke, das hab ich total übersehen :)

      achtung habe noch mal was hinzugefügt zu meiner antowort!

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 21:21
      Zitat von Saturin78

      Ja, sage ja er schreibt das nicht in die Table rein. das macht er nur ohne HC. Wenn ich ein Auto kaufe ohne aktiven HC, wird es in die DB eingetragen, bei aktiven HC ist die Spalte leer. die fn_insertVehicle.sqf ist im life_server vorhanden, aber im life_hc nicht.

      C: fn_insertVehicle.sqf
      /*
          File: fn_insertVehicle.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          Inserts the vehicle into the database
      */
      private ["_query","_sql","_vis"];
      params [
          "_uid",
          "_side",
          "_type",
          "_className",
          ["_color",-1,[0]],
          ["_plate",-1,[0]]
      ];
      
      //Stop bad data being passed.
      if (_uid isEqualTo "" || _side isEqualTo "" || _type isEqualTo "" || _className isEqualTo "" || _color isEqualTo -1 || _plate isEqualTo -1) exitWith {};
      
      //_query = format ["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""')",_side,_className,_type,_uid,_color,_plate];
      _vis = [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0];
      _query = format["INSERT INTO vehicles (side, classname, type, pid, alive, active, inventory, color, plate, gear, damage, vis) VALUES ('%1', '%2', '%3', '%4', '1','1','""[[],0]""', '%5', '%6','""[]""','""[]""','%7')",_side,_className,_type,_uid,_color,_plate,_vis];
      
      [_query,1] call DB_fnc_asyncCall;
      Alles anzeigen

      guck mal hier : life_hc\MySQL\General -> fn_insertVehicle.sqf

      musst die fn_vis_setup.sqf dann noch anpassen in line 18 oder 19 : [player,_veh,true] remoteExecCall ["life_fnc_vehicleInfoUpdate",RSERV];//Database veh only

      Du musst in die CfgRemoteExec.hpp gehen und die Datei als HC einstellen und dann auche das RSERV in der besagten Datei in HC oder sowas ändern.... dann gibt er den Befehl an den HC weiter....

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 18:48

      Saturin78 Ich muss mich nochmals korrigieren....

      Ich habe gearde gesehen, dass er mit HC an die DB geht.... nur erstellst du den eintrag nicht....

      Code: fn_vehicleInfpUpdate.sqf
      // we dont like bad data
      if (!(count _queryResult == 1)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 1 : %1 ---",_queryResult]; };
      _queryResult = _queryResult select 0;
      if (!(count _queryResult == 5)) exitWith { diag_log format["--- VIS -> DB -> Error -> Bad data 2 : %1 ---",_queryResult]; };

      Wie du sicherlich siehst, wird beim ersten schritt geguckt ob es überhaupt einen Datensatz gibt und den gibt es bei dir...

      Dann kontrolliert er ob dieser auch richtug ist, also ob dieser die erwartete Länge besitzt, und das scheint er bei dir nicht zu haben...

      Ich würde mal schätzen, dass etwas bei deiner fn_insertVehicle.sqf nicht ganz koschar ist.

      Er erwartet ja folgenden Block :

      [0,[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],0,0,0]

    • [Tutorial][VIS V2 BETA] Vehicle Information System | Multi-kompatibel & Database Synchronisation

      • DerL30N
      • 24. Juli 2017 um 18:42
      Zitat von Saturin78

      Hallole, mir ist gerade was aufgefallen.

      Ich nutze einen HeadlessClient und wenn dieser läuft , dann schreibt er mir beim kaufen von nem Auto die vis sachen nciht in die DB. Nun ist aber das Problem, dass die datei fn_insertVehicle.sqf nicht im HeadlessClient existiert. Ich denke dass er deswegen auch nichts in die DB einträgt. Wenn man das Auto dann nutzt, zeigt er auch keine Anzeige an. Wenn der HeadlessClient aus ist, geht alles ohne Probleme.

      Der einzige Fehler der in den Logs deswegen dann kommt ist dieser:

      17:24:54 "--- VIS -> DB -> Error -> Bad data 2 : ---"

      Wahrscheinlich weil in der vis Table nichts drin ist.

      Hat jemand ne Idee wie man das noch so hin bekommt, dass es auch mit HC funktioniert?

      Alles anzeigen

      Ja, das Script hat nicht gelernt mit HC umzugehen, da ich zum Zeitpunkt der Entwiclung nicht darüber nachgedacht habe HC einzubinden.....

      Das sollte aber ganz einfach nachzurüsten seien, ich gucke mir das mal eben an, wie das mit HC funktioniert, habe schon lange nichts mehr mit SQF und co gemacht ^^

      Also kurz gefasst musst du (man) "einfach" in der fn_vis_setup.sqf den HC integrieren....

    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™