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: 22 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

    [Tutorial] Drogendealer und andere illegale Shops abfragen

      • Altis Life
    • moeck
    • 10. April 2018 um 13:42
    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 10. April 2018 um 13:42
      • #1

      Moin,

      da wir random Drogendealer nutzen und auch weitere illegale Shops auf der Insel haben, wollten wir eine Möglichkeit schaffen, diese von den Cops prüfen zu lassen. Da mir persönlich die Implementierung im Standard Framework nicht gefallen hat, habe ich das Ganze jetzt mal an unsere Bedürfnisse angepasst.

      Wenn man jetzt was beim Drogendealer verkauft landet das in der Datenbank und die Cops können das dann auch entsprechend abfragen. Des Weiteren kann man relativ einfach weitere Shops in das System einbinden ohne dass man hier viel ändern muss.

      Bevor wir loslegen, gilt wie immer, daß ihr das Tutorial gern benutzen allerdings nicht in anderen Foren oder Plattformen veröffentlich dürft.


      1. Anlegen einer neuen Tabelle

      SQL
      CREATE TABLE IF NOT EXISTS `shops` (
        `uid` int(6) NOT NULL AUTO_INCREMENT,
        `name` varchar(32) NOT NULL,
        `pid` varchar(17) NOT NULL,
        `shop` varchar(17) NOT NULL,
        `value` int(100) NOT NULL DEFAULT '0',
        PRIMARY KEY (`uid`),
        KEY `pid` (`pid`),
        KEY `shop` (`shop`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=12 ;

      2. Änderungen in der Mission

      2.1. fn_virt_sell.sqf

      Hier sucht ihr Euch folgenden Eintrag raus.

      C
      f (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];
          };
      };
      Alles anzeigen

      Diesen ersetzt ihr wie folgt

      Code
      if(life_shop_type in ["drugdealer"]) then {
          private _shop = if (life_shop_type isEqualTo "drugdealer") then {(vehicleVarName life_shop_npc)} else {_type};
          [1,_shop,player,_price] remoteExec ["DB_fnc_shops",RSERV];
      };

      Sollte ihr weitere Shops einbinden wollen, einfach das Array ["drugdealer"] um den entsprechenden Eintrag erweitern.

      2.2. fn_questionDealer.sqf

      Die komplette Datei ersetzt ihr durch die folgende.

      C: fn_questionDealer.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_questionDealer.sqf
          Author: Bryan "Tonic" Boardwine
          modified by moeck
      
          Description:
          Questions the drug dealer and sets the sellers wanted.
      */
      params [
          ""
          ,""
          ,""
          ,["_shop","",[""]]
      ];
      if (_shop isEqualTo "") exitWith {};
      [0,_shop,player,0] remoteExec ["DB_fnc_shops",RSERV];
      Alles anzeigen

      2.3. fn_receiveDealer.sqf

      Ihr legt eine neue Datei namens fn_receiveDealer.sqf

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_receiveDealer.sqf
          Author: moeck (Lost of Paradise)
          
          Description:
          Get the answer from the dealer
      */
      params [
          ["_sellers",[],[[]]]
          ,["_shop","",[""]]
      ];
      if( _sellers isEqualTo []) exitWith {hint localize "STR_Cop_DealerQuestion"}; //No data.
      life_action_inUse = true;
      _crimes = LIFE_SETTINGS(getArray,"crimes");
      
      _names = "";
      {
          _val = 0;
          if ((_x select 3) > 150000) then {
              _val = round((_x select 3) / 16);
          } else {
              _val = ["483",_crimes] call TON_fnc_index;
              _val = ((_crimes select _val) select 1);
              if (_val isEqualType "") then {
                  _val = parseNumber _val;
              };
          };
          [(_x select 0),(_x select 1),"483",_val] remoteExecCall ["life_fnc_wantedAdd",RSERV];
          _names = _names + format ["%1<br/>",(_x select 1)];
          true
      } count _sellers;
      
      hint parseText format [(localize "STR_Cop_DealerMSG")+ "<br/><br/>%1",_names];
      [2,_shop,player,0] remoteExec ["DB_fnc_shops",RSERV];
      life_action_inUse = false;
      Alles anzeigen

      2.4. Init des NPCs / Object des Dealers

      In der Init des Drogendealers muss folgende Anpassung gemacht werden.

      Code
      this addAction[localize "STR_MAR_Question_Dealer",life_fnc_questionDealer,"",0,false,false,"",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse'];

      den Eintrag ersetzt ihr mit diesem hier

      Code
      this addAction[localize "STR_MAR_Question_Dealer",life_fnc_questionDealer,"Dealer_1",0,false,false,"",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse'];

      Achtung ihr müsst natürlich schauen um welchen Dealer es sich handelt und den Wert entsprechend anpassen. Also dann für die anderen Dealer halt "Dealer_2" oder "Dealer_3" verwenden! Oder falls es um einen anderen Shop geht halt das Gewünscht Item (z.B. turtle_soup)

      2.5. Anpassung CfgRemoteExec.hpp

      Ihr müsst natürlich die Nutzung der neuen Funktion noch erlauben. Fügt in die CfgRemoteExec.hpp folgendes ein

      Code
      F(life_fnc_receiveDealer,CLIENT)
      F(DB_fnc_shops,SERVER)

      2.6. Anpassungen Functions.hpp

      In der class Copmuss die neue Funktion noch definiert werden

      Code
      class Cop {
              file = "core\cop";
              class bountyReceive {};
              class containerInvSearch {};
              class copInteractionMenu {};
              class copLights {};
              class copLoadout {};
              class copMarkers {};
              class copSearch {};
              class copSiren {};
              class doorAnimate {};
              class fedCamDisplay {};
              class licenseCheck {};
              class licensesRead {};
              class questionDealer {};
              class radar {};
              class repairDoor {};
              class restrain {};
              class searchClient {};
              class seizeClient {};
              class sirenLights {};
              class spikeStripEffect {};
              class ticketGive {};
              class ticketPaid {};
              class ticketPay {};
              class ticketPrompt {};
              class vehInvSearch {};
              class wantedGrab {};
              class receiveDealer {};
          };
      Alles anzeigen

      So das wars auch schon in der Mission ;)

      3. Änderungen life_server

      3.1. config.cpp

      Hier sucht ihr Euch den Eintrag MySQL_Database raus und fügt unten class shops {}; ein. Das sieht dann ungefähr so aus.

      Code
      class MySQL_Database {
              tag = "DB";
              class MySQL
              {
                  file = "\life_server\Functions\MySQL";
                  class numberSafe {};
                  class mresArray {};
                  class queryRequest{};
                  class asyncCall{};
                  class insertRequest{};
                  class updateRequest{};
                  class mresToArray {};
                  class insertVehicle {};
                  class bool {};
                  class mresString {};
                  class updatePartial {};
                  class shops {};
              };
          };
      Alles anzeigen

      3.2. fn_shops.sqf

      Ihr geht in den Ordner \life_server\Functions\MySQL und erstellt dort die Datei fn_shops.sqf mit folgendem Inhalt

      C: fn_shops.sqf
      /*
      File: fn_shops
      Author: moeck
      
      handle the shops if actions are stored to the DB
      modes:
          0: just get the info from DB
          1: add or update an existing record
          2: delete shop entries
      
      */
      params [
          ["_mode",0,[0]]
          ,["_shop","",[""]]
          ,["_unit",objNull,[objNull]]
          ,["_value",0,[0]]
      ];
      //Stop bad data being passed.
      if (_shop isEqualTo "") exitWith {diag_log "Fehler fn_shops, es fehlt der shop!"};
      private _uid = getPlayerUID _unit;
      private _name = name _unit;
      private _query = "";
      private _queryResult = [];
      //_value = [_value] call DB_fnc_numberSafe;
      
      //Check shop entries
      if (_mode isEqualTo 0) exitWith {
          _query = format ["select pid, name, shop, value from shops where shop = '%1'", _shop];
          _queryResult = [_query,2,true] call DB_fnc_asyncCall;
          [_queryResult,_shop] remoteExec ["life_fnc_receiveDealer",_unit];
      };
      
      //Add or update a record
      if (_mode isEqualTo 1) exitWith {
          if ( _unit isEqualTo objNull || _value isEqualTo 0) exitWith {diag_log "Fehler fn_shops, es fehlen unit oder value ist 0!"};
          _query = format ["select pid, name, shop, value from shops where shop = '%1' and pid = '%2'", _shop,_uid];
          _queryResult = [_query,2] call DB_fnc_asyncCall;
          if (_queryResult isEqualTo []) then {
              _query = format ["insert into shops (pid, name, shop, value) Values ('%1', '%2', '%3', '%4')",
                  _uid
                  ,_name
                  ,_shop
                  ,_value
              ];
              [_query,1] call DB_fnc_asyncCall;
          } else {
              _oldvalue = (_queryResult select 3);
              _value = _oldvalue + _value;
              _query = format ["update shops set `value` = '%1' where pid = '%2' and shop = '%3'",
                  _value
                  ,_uid
                  ,_shop
              ];
              [_query,1] call DB_fnc_asyncCall;
          };
      };
      
      //Delete records for a shop
      if (_mode isEqualTo 2) exitWith {
          _query = format ["delete from shops where shop = '%1'",_shop];
          [_query,1] call DB_fnc_asyncCall;
      };
      Alles anzeigen

      3.3. Änderung init.sqf

      In der life_server\init.sqf sucht ihr Euch folgenden Eintrag heraus

      Code
      [] spawn {
          for "_i" from 0 to 1 step 0 do {
              uiSleep (30 * 60);
              {
                  _x setVariable ["sellers",[],true];
              } forEach [Dealer_1,Dealer_2,Dealer_3];
          };
      };

      und ersetzt diesen durch das

      Code
      //Remove old dealer entries
      {
          [2,_x,objNull,0] call DB_fnc_shops;
          true
      } count ["Dealer_1","Dealer_2","Dealer_3"];
      
      //clear every 30 minutes the dealer list
      [] spawn {
          for "_i" from 0 to 1 step 0 do {
              uiSleep (30 * 60);
              { 
                  [2,_x,objNull,0] call DB_fnc_shops;
                  true
              } count ["Dealer_1","Dealer_2","Dealer_3"];
          };
      };
      Alles anzeigen

      Falls ihr wie oben weitere Shops hinzugefügt habt müsst ihr das Array wieder entsprechend erweitern mit dem gewünschten Shop bzw. Item (z.B. turtle_soup).

      Damit wären wir dann auch schon wieder fertig. :saint:

      Viel Spaß damit.

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 10. April 2018 um 23:22
      • #2

      #Update: nun durchgetestet und funktionsfähig 8)

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 11. April 2018 um 16:54
      • #3

      Hey erstmal danke für das Schöne Tutorial habe es genauso eingefügt nur leider bekomme ich einen fehler von der fn_receiveDealer.sqf dieser lautet:

      Spoiler anzeigen
      Code
      2018/04/11, 16:47:33 Error in expression <on_inUse = true;
      _crimes = LIFE_SETTINGS(getArray,"crimes");
      
      _names = "";
      {
      _va>
      2018/04/11, 16:47:33   Error position: <(getArray,"crimes");
      
      _names = "";
      {
      _va>
      2018/04/11, 16:47:33   Error Missing ;
      2018/04/11, 16:47:33 File core\cop\fn_receiveDealer.sqf [life_fnc_receiveDealer], line 14
      2018/04/11, 16:47:33 Error in expression <on_inUse = true;
      _crimes = LIFE_SETTINGS(getArray,"crimes");
      
      _names = "";
      {
      _va>
      2018/04/11, 16:47:33   Error position: <(getArray,"crimes");
      
      _names = "";
      {
      _va>
      2018/04/11, 16:47:33   Error Missing ;
      2018/04/11, 16:47:33 File core\cop\fn_receiveDealer.sqf [life_fnc_receiveDealer], line 14
      Alles anzeigen

      und was mir noch aufgefallen ist das in der fn_receiveDealer.sqf, spawn life_fnc_MP verwendet wird was ab der 4.4 ja nicht mehr funktioniert oder liege ich da falsch?

      nutze die 4.4r4 bzw 5.0

      Mit Freundlichen Grüßen,

      Koenigsegg

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 11. April 2018 um 16:58
      • #4

      dir fehlt ein ;

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 11. April 2018 um 17:03
      • #5
      Zitat von Kuchenplatte

      dir fehlt ein ;

      Ja das habe ich auch gesehen aber weiß leider nicht wo es dort hin soll :D

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 11. April 2018 um 17:41
      • #6
      Zitat von Koenigsegg

      Ja das habe ich auch gesehen aber weiß leider nicht wo es dort hin soll :D

      dann poste doch mal die file ;)

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 11. April 2018 um 17:45
      • #7
      Zitat von Kuchenplatte

      dann poste doch mal die file ;)

      Hab dir die datei mal angehangen :)

      Dateien

      fn_receiveDealer.sqf 966 Byte – 237 Downloads
    • Marius1773
      Profi
      Reaktionen
      369
      Trophäen
      9
      Beiträge
      962
      • 11. April 2018 um 17:50
      • #8

      Zeile 30 das true weg, und echt ekelhaft wie das ding ohne Formatierung und only Copy-Paste aussieht ..

      Windows Server :love:

      Das Heilige Buch der Arma 3 Scripter, die Arma 3 Scripter Bibel: https://community.bistudio.com/wiki/Category:Scripting_Commands

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 11. April 2018 um 18:16
      • #9
      Zitat von Marius1773

      Zeile 30 das true weg, und echt ekelhaft wie das ding ohne Formatierung und only Copy-Paste aussieht ..

      habe das true entfernt aber es kommt leider nach wie vor der selbe fehler und habe es in der nacht auf die schnelle nur eingefügt habs für mich selber nun ausgebessert..^^

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 11. April 2018 um 19:03
      • #10

      ups, da habe ich noch so nen life_fnc_MP vergessen dash ändere das dann

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 11. April 2018 um 19:34
      • #11

      So update gemacht, übrigens fehlte die erste Zeile also das include dash aber hier auch nochmal die geänderte Datei ^^ inklusive dem umbau auf remoteExec dash

      C: fn_receiveDealer.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_receiveDealer.sqf
          Author: moeck (Lost of Paradise)
          
          Description:
          Get the answer from the dealer
      */
      params [
          ["_sellers",[],[[]]]
          ,["_shop","",[""]]
      ];
      if( _sellers isEqualTo []) exitWith {hint localize "STR_Cop_DealerQuestion"}; //No data.
      life_action_inUse = true;
      _crimes = LIFE_SETTINGS(getArray,"crimes");
      
      _names = "";
      {
          _val = 0;
          if ((_x select 2) > 150000) then {
              _val = round((_x select 2) / 16);
          } else {
              _val = ["483",_crimes] call TON_fnc_index;
              _val = ((_crimes select _val) select 1);
              if (_val isEqualType "") then {
                  _val = parseNumber _val;
              };
          };
          [(_x select 0),(_x select 1),"483",_val] remoteExecCall ["life_fnc_wantedAdd",RSERV];
          _names = _names + format ["%1<br/>",(_x select 1)];
          true
      } count _sellers;
      
      hint parseText format [(localize "STR_Cop_DealerMSG")+ "<br/><br/>%1",_names];
      [2,_shop,player,0] remoteExec ["DB_fnc_shops",RSERV];
      life_action_inUse = false;
      Alles anzeigen

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 11. April 2018 um 21:30
      • #12
      Zitat von moeck

      So update gemacht, übrigens fehlte die erste Zeile also das include dash aber hier auch nochmal die geänderte Datei ^^ inklusive dem umbau auf remoteExec dash

      Danke für das Update soweit funktioniert es nun bis auf bei den Cops sobald ich die jeweiligen Dealer abfrage bekomme ich in der serverlog.rpt folgendes

      Code
      2018/04/11, 21:25:53 A null object passed as a target to RemoteExec(Call) 'life_fnc_receivedealer'

      hab nochmal alle Dateien überprüft aber komme leider nicht auf den Fehler.

      Mit Freundlichen Grüßen,

      Koenigsegg

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 11. April 2018 um 22:41
      • #13

      hmpf, problem ist ich habe keine 5.0 bzw 4.4. zum testen sondern schreibe das für die tuts immer um. ich schaue morgen nochmal nach. oder schaue mal bei dir wie die requestreceive aufgerufen wird

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 11. April 2018 um 23:35
      • #14

      so mal schauen erssetze mal das

      Code
      if (_mode isEqualTo 0) exitWith {
       _query = format ["select pid, name, shop, value from shops where shop = '%1'", _shop];
       _queryResult = [_query,2] call DB_fnc_asyncCall;
       [_queryResult,_shop] remoteExec ["life_fnc_receiveDealer",_unit];
      };

      durch das

      Code
      if (_mode isEqualTo 0) exitWith {
          if (_unit isEqualTo objNull) exitWith { diag_log "ERROR no unit found"};
           _query = format ["select pid, name, shop, value from shops where shop = '%1'", _shop];
           _queryResult = [_query,2,true] call DB_fnc_asyncCall;
           [_queryResult,_shop] remoteExec ["life_fnc_receiveDealer",_unit];
      };

      in der fn_shops.sqf

      Erscheint die Ausgabe oder passiert nix?

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 12. April 2018 um 00:11
      • #15
      Zitat von moeck

      so mal schauen erssetze mal das

      Code
      if (_mode isEqualTo 0) exitWith {
       _query = format ["select pid, name, shop, value from shops where shop = '%1'", _shop];
       _queryResult = [_query,2] call DB_fnc_asyncCall;
       [_queryResult,_shop] remoteExec ["life_fnc_receiveDealer",_unit];
      };

      durch das

      Code
      if (_mode isEqualTo 0) exitWith {
          if (_unit isEqualTo objNull) exitWith { diag_log "ERROR no unit found"};
           _query = format ["select pid, name, shop, value from shops where shop = '%1'", _shop];
           _queryResult = [_query,2,true] call DB_fnc_asyncCall;
           [_queryResult,_shop] remoteExec ["life_fnc_receiveDealer",_unit];
      };

      in der fn_shops.sqf

      Erscheint die Ausgabe oder passiert nix?

      habe es eingefügt bekomme jetzt lediglich diesen fehler

      Code
      2018/04/12,  0:08:24 "ERROR no unit found"
    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 12. April 2018 um 03:49
      • #16

      Alles klar ^^, es hat sich doch noch eine Kleinigkeit eingeschlichen ^^

      C: fn_questionDealer.sqf
      #include "..\..\script_macros.hpp"
      params [
       ""
       ,""
       ,""
       ,["_shop","",[""]]
      ];
      if (_shop isEqualTo "") exitWith {};
      [0,_shop,player,0] remoteExec ["DB_fnc_shops",RSERV];

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 12. April 2018 um 22:55
      • #17
      Zitat von moeck

      Alles klar ^^, es hat sich doch noch eine Kleinigkeit eingeschlichen ^^

      C: fn_questionDealer.sqf
      #include "..\..\script_macros.hpp"
      params [
       ""
       ,""
       ,""
       ,["_shop","",[""]]
      ];
      if (_shop isEqualTo "") exitWith {};
      [0,_shop,player,0] remoteExec ["DB_fnc_shops",RSERV];

      Okay soweit geht es nun bis auf das bei den Cops immer wieder steht sobald man den jeweiligen Dealer abfragt "Niemand hat kürzlich an diesem Dealer etwas verkauft" obwohl ein eintrag in der db besteht und die rpt spuckt auch keinen fehler aus

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 12. April 2018 um 23:24
      • #18

      hast Du die Anpassung auf der Map gemacht? bzw. in der Init des Drogen dealers?

      Code
      this addAction[localize "STR_MAR_Question_Dealer",life_fnc_questionDealer,"Dealer_1",0,false,false,"",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse'];

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • Koenigsegg
      Frischling
      Trophäen
      10
      Beiträge
      27
      • 12. April 2018 um 23:40
      • #19
      Zitat von moeck

      hast Du die Anpassung auf der Map gemacht? bzw. in der Init des Drogen dealers?

      Code
      this addAction[localize "STR_MAR_Question_Dealer",life_fnc_questionDealer,"Dealer_1",0,false,false,"",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse'];

      Ja die einträge habe ich drinnen hab hier ein beispiel ist gerade aus unserer mission.sqm

      Code
      init="removeAllWeapons this; this allowDamage false; this enableSimulation false; this addAction[localize""STR_MAR_Drug_Dealer"",life_fnc_virt_menu,""drugdealer"",0,false,false,"""",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo civilian ']; this addAction[localize ""STR_MAR_Question_Dealer"",life_fnc_questionDealer,""Dealer_1"",0,false,false,"""",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo west && !life_action_inUse'];";

      der eintrag von der fn_virt_sell.sqf sieht wie folgt aus

      Code
      if(life_shop_type in ["drugdealer","uranium","wongs"]) then {

      und in der init.sqf(life_server)

      Code
      count ["Dealer_1","Dealer_2","Dealer_3","urandealer","schildkr_1","schildkr_2","schildkr_3"];

      Mit Freundlichen Grüßen,

      Koenigsegg

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 13. April 2018 um 07:39
      • #20

      Moin,

      Du testest das aber nicht alein oder? Der übernimmt nur Spieler die auch da sind ;) . Also falls Du das gerade allein testest wird er dir nie etwas ausspucken ^^ .

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    Registrieren oder Einloggen

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

    Registrieren

    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™