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: 17 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. Tutorials & Releases

    PapaBear's Persistent Proficiency System 3.1.4.8

      • Altis Life
    • AmaZiinG
    • 20. September 2016 um 16:54
    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 10. November 2016 um 16:32
      • #21

      das wird für die 4.5 nicht gehen oder? gibt es schon ein skill system für de 4.5 ?

    • Andre-2
      Schüler
      Reaktionen
      25
      Trophäen
      9
      Beiträge
      109
      • 11. November 2016 um 09:20
      • #22

      Du könntest es umschreiben auf die 4.5 :D

    • Reen36
      Fortgeschrittener
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      294
      • 11. November 2016 um 11:39
      • #23

      dafür hab ich leider noch nicht genug erfahrung im scripten um es umzuschreiben sry

    • dingo
      Anfänger
      Reaktionen
      8
      Trophäen
      11
      Beiträge
      43
      • 12. Dezember 2016 um 13:51
      • #24
      Code: fn_queryRequest.sqf
      /*
      	File: fn_queryRequest.sqf
      	Author: Bryan "Tonic" Boardwine
      
      	Description:
      	Handles the incoming request and sends an asynchronous query 
      	request to the database.
      
      	Return:
      	ARRAY - If array has 0 elements it should be handled as an error in client-side files.
      	STRING - The request had invalid handles or an unknown error and is logged to the RPT.
      */
      private["_uid","_side","_query","_return","_queryResult","_qResult","_handler","_thread","_tickTime","_loops","_returnCount"];
      _uid = [_this,0,"",[""]] call BIS_fnc_param;
      _side = [_this,1,sideUnknown,[civilian]] call BIS_fnc_param;
      _ownerID = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      
      
      
      
      if(isNull _ownerID) exitWith {};
      _ownerID = owner _ownerID;
      
      
      
      
      /*
      	_returnCount is the count of entries we are expecting back from the async call.
      	The other part is well the SQL statement.
      */
      _query = switch(_side) do {
      	case west: {_returnCount = 10; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, cop_licenses, coplevel, cop_gear, cop_prof, blacklist FROM players WHERE playerid='%1'",_uid];};
      	case civilian: {_returnCount = 9; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, civ_licenses, arrested, civ_gear, civ_prof FROM players WHERE playerid='%1'",_uid];};
      	case independent: {_returnCount = 9; format["SELECT playerid, name, cash, bankacc, adminlevel, donatorlvl, med_licenses, mediclevel, med_gear, med_prof FROM players WHERE playerid='%1'",_uid];};
      };
      
      
      
      
      waitUntil{sleep (random 0.3); !DB_Async_Active};
      _tickTime = diag_tickTime;
      _queryResult = [_query,2] call DB_fnc_asyncCall;
      
      
      
      
      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 "------------------------------------------------";
      
      
      
      
      if(typeName _queryResult == "STRING") exitWith {
      	[[],"SOCK_fnc_insertPlayerInfo",_ownerID,false,true] spawn life_fnc_MP;
      };
      
      
      
      
      if(count _queryResult == 0) exitWith {
      	[[],"SOCK_fnc_insertPlayerInfo",_ownerID,false,true] spawn life_fnc_MP;
      };
      
      
      
      
      //Blah conversion thing from a2net->extdb
      private["_tmp"];
      _tmp = _queryResult select 2;
      _queryResult set[2,[_tmp] call DB_fnc_numberSafe];
      _tmp = _queryResult select 3;
      _queryResult set[3,[_tmp] call DB_fnc_numberSafe];
      
      
      
      
      //Parse licenses (Always index 6)
      _new = [(_queryResult select 6)] call DB_fnc_mresToArray;
      if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
      _queryResult set[6,_new];
      
      
      
      
      //Convert tinyint to boolean
      _old = _queryResult select 6;
      for "_i" from 0 to (count _old)-1 do
      {
      	_data = _old select _i;
      	_old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_bool)]];
      };
      
      
      
      
      _queryResult set[6,_old];
      
      
      
      
      _new = [(_queryResult select 8)] call DB_fnc_mresToArray;
      if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
      _queryResult set[8,_new];
      //PROFICENCYS
      //Parse licenses (Always index 9)
      _new = [(_queryResult select 9)] call DB_fnc_mresToArray;
      if(typeName _new == "STRING") then {_new = call compile format["%1", _new];};
      _queryResult set[9,_new]; 
       
      //Convert string to number
      _old = _queryResult select 9;
      for "_i" from 0 to (count _old)-1 do
      {
           _data = _old select _i;
      	 _old set[_i,[_data select 0, ([_data select 1,1] call DB_fnc_numberSafe),([_data select 2,1] call DB_fnc_numberSafe) ]];
      }; 
       
      _queryResult set[9,_old];
      
      
      
      
      //Parse data for specific side.
      switch (_side) do { 
          case west: {
      	    _queryResult set[10,([_queryResult select 10,1] call DB_fnc_bool)];
      	}; 
      
      	case civilian: {
      	    _queryResult set[7,([_queryResult select 7,1] call DB_fnc_bool)]; 
      		_houseData = _uid spawn TON_fnc_fetchPlayerHouses;
      	    waitUntil {scriptDone _houseData};
      		_queryResult pushBack (missionNamespace getVariable[format["houses_%1",_uid],[]]);
      	    _gangData = _uid spawn TON_fnc_queryPlayerGang;
      		waitUntil{scriptDone _gangData};_queryResult pushBack (missionNamespace getVariable[format["gang_%1",_uid],[]]);
      	};
      }; 
      
      
      
      
      _keyArr = missionNamespace getVariable [format["%1_KEYS_%2",_uid,_side],[]];
      _queryResult set[13,_keyArr]; 
      
      
      
      
      [_queryResult,"SOCK_fnc_requestReceived",_ownerID,false] spawn life_fnc_MP;
      Alles anzeigen
      Code: fn_queryRequest.sqf
      Damit muss es gehen
    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 12. Dezember 2016 um 13:56
      • #25

      Habe es mal verbessert. Danke Dingo

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • dingo
      Anfänger
      Reaktionen
      8
      Trophäen
      11
      Beiträge
      43
      • 12. Dezember 2016 um 13:58
      • #26
      Code
      class Life_Prof_Dialog
      {
           idd = 7730;
      	 name = "life_prof_dialog";
      	 movingEnabled = false;
      	 enableSimulation = true; 
      
      	 class controlsBackground 
      	 {
      	     class Frame: Life_RscText
      		 {
      		     colorBackground[] = {0, 0, 0, 0.7};
      			 idc = -1;
      			 x = 10.5 * GUI_GRID_W + GUI_GRID_X;
      			 y = 2 * GUI_GRID_H + GUI_GRID_Y;
      			 w = 18 * GUI_GRID_W;
      			 h = 18 * GUI_GRID_H;
      		 }; 
      
      		 class Title: Life_RscText
      		 {
      		     idc = -1;
      			 text = "Proficicency Levels";
      			 //--- ToDo: Localize;
      			 x = 15.5 * GUI_GRID_W + GUI_GRID_X;
      			 y = 2.5 * GUI_GRID_H + GUI_GRID_Y;
      			 w = 8.5 * GUI_GRID_W;h = 1 * GUI_GRID_H;
      		 };
      	  }; 
      
      	  class controls 
      	  {
      	      class Prof_Text: Life_RscStructuredText
      		  {
      		      idc = 7731;
      			  x = 11 * GUI_GRID_W + GUI_GRID_X;
      			  y = 4 * GUI_GRID_H + GUI_GRID_Y;
      			  w = 5 * GUI_GRID_W;
      			  h = 13.5 * GUI_GRID_H;
      		  };
      
      		  class Prof2_Text: Life_RscStructuredText
      		  {
      		      idc = 7732;
      			  x = 16 * GUI_GRID_W + GUI_GRID_X;
      			  y = 4 * GUI_GRID_H + GUI_GRID_Y;
      			  w = 4 * GUI_GRID_W;
      			  h = 13.5 * GUI_GRID_H;
      		  };
      
      		  class Prof3_Text: Life_RscStructuredText
      		  {
      		      idc = 7733;
      			  x = 20 * GUI_GRID_W + GUI_GRID_X;
      			  y = 4 * GUI_GRID_H + GUI_GRID_Y;
      			  w = 7 * GUI_GRID_W;
      			  h = 13.5 * GUI_GRID_H;
      		  };
      
      		  class CloseBTN: Life_RscButtonMenu
      		  {
      		      idc = -1;
      			  text = "Close"; 
      			  //--- ToDo: Localize;
      			  onButtonClick = "closeDialog 0;";
      			  x = 22 * GUI_GRID_W + GUI_GRID_X;
      			  y = 18 * GUI_GRID_H + GUI_GRID_Y;
      			  w = 6 * GUI_GRID_W;
      			  h = 1.5 * GUI_GRID_H;
      		  };
      	 };
      };
      Alles anzeigen
    • dingo
      Anfänger
      Reaktionen
      8
      Trophäen
      11
      Beiträge
      43
      • 12. Dezember 2016 um 14:00
      • #27
      Code
      class ProfButton : life_RscButtonMenu { 
      	        text = "Erfahrung";
      	        colorBackground[] = {0, 0, 0, 0};
      	        onButtonClick = "[] call life_fnc_profSetup;";
      	        x = 0.11;
      	        y = 0.70;
      	        w = (5.75 / 40);
      	        h = (1 / 25);
      		};	
      	 };
       };
      Alles anzeigen
    • dingo
      Anfänger
      Reaktionen
      8
      Trophäen
      11
      Beiträge
      43
      • 12. Dezember 2016 um 14:07
      • #28

      Mit diesem Dialog ist das Problem mit der KL Einheiten weg

      habe alles getestet läuft wunderbare

      danke an
      AmaZiinG

      für das Tutorial

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 12. Dezember 2016 um 16:23
      • #29

      Also mit dieser Verbesserung sollte das Systwm jetzt gehen ohne Fehler oder? :) Danke dingo für deine Zeit und hilfe!

    • dingo
      Anfänger
      Reaktionen
      8
      Trophäen
      11
      Beiträge
      43
      • 12. Dezember 2016 um 18:07
      • #30

      ja geht ohne Fehler man kann das System in z Inventar offen man sieht das skillsystem

      man bekommt beim Farmen die skillpunkte und wird auch gespeichert in der Datenbank

    • ChickenWeed
      Kenner
      Reaktionen
      63
      Trophäen
      9
      Beiträge
      528
      Bilder
      7
      • 12. Dezember 2016 um 18:20
      • #31

      ok danke für den fix weitere fehler gab es nicht richtig?

    • STR1KEStudioz
      Frischling
      Trophäen
      8
      Beiträge
      1
      • 2. Februar 2017 um 02:37
      • #32

      4.4?

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 2. Februar 2017 um 12:57
      • #33
      Zitat von STR1KEStudioz

      4.4?

      Nope

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Ähnliche Themen

    • Persistent Proficiency System (Level System/Exp System)

      • AmaZiinG
      • 7. Februar 2017 um 22:11
      • Tutorials & Releases
    • Level/Exp System für die Version 1.3.4.8 Seal Drop

      • lordbrs
      • 22. Mai 2017 um 12:05
      • Hilfeforum
    • PapaBear's Persistent Proficiency System 4.4 R3

      • AmaZiinG
      • 7. Februar 2017 um 16:04
      • Hilfeforum
    • Skillsystem gesucht

      • Gruffi
      • 19. September 2016 um 17:56
      • Hilfeforum

    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™