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

    Virtuelle Shops gehen nicht

    • Maxwell
    • 20. Dezember 2015 um 15:00
    • Geschlossen
    • Maxwell
      Gast
      • 20. Dezember 2015 um 15:00
      • #1

      Guten Tag zusammen,

      man, ich schreibe im Moment oft ^^

      Ich habe ein Problem mit den virtuellen Shops. Sie funktionieren nicht. Sie sind ordnungsgemäß eingetragen oder ich habe etwas vergessen. Bräuchte da mal wirklich Hilfe.
      Hier meine Dateien.
      fn_virt_shops.sqf

      Spoiler anzeigen


      /*
      File: fn_virt_shops.sqf
      Author: Bryan "Tonic" Boardwine

      Description:
      Config for virtual shops.
      */
      private["_shop"];
      _shop = _this select 0;


      switch (_shop) do
      {
      case "market": {["Markt",["water","rabbit","apple","storagebig","storagesmall","bottledbeer","bottledwhiskey","redgull","battery","tbacon","lockpick","pickaxe","zipties","peach","boltcutter","blastingcharge"]]};
      case "rebel": {["Rebellen Market",["water","rabbit","apple","redgull","tbacon","lockpick","pickaxe","fuelF","peach","boltcutter","blastingcharge"]]};
      case "gang": {["Gang Market", ["water","rabbit","apple","redgull","tbacon","lockpick","pickaxe","fuelF","peach","blastingcharge","boltcutter"]]};
      case "wongs": {["Wong's Food Cart",["turtlesoup","turtle","moonshine"]]};
      case "coffee": {["Stratis Coffee Club",["coffee","donuts"]]};
      case "heroin": {["Drug Dealer",["cocainep","heroinp","marijuana","methp"]]};
      case "fishmarket": {["Altis Fish Market",["salema","ornate","mackerel","mullet","tuna","catshark"]]};
      case "glass": {["Altis Glass Dealer",["glass"]]};
      case "iron": {["Altis Industrial Trader",["iron_r","copper_r"]]};
      case "diamond": {["Diamond Dealer",["diamond","diamondc"]]};
      case "salt": {["Salt Dealer",["salt_r"]]};
      case "cop": {["Cop Item Shop",["donuts","coffee","spikeStrip","mauer","battery","painkillers","redgull","defusekit"]]};
      case "cement": {["Cement Dealer",["cement"]]};
      case "beer": {["Schnaps Laden",["wine"]]};
      case "pharmacy": {["Apotheke",["painkillers","morphium","scalpel","kidney"]]};
      case "medic": {["Arztbedarf",["apple","donuts","coffee","battery","redgull","fuelF"]]};
      case "speakeasy": {["Speakeasy's",["bottledbeer","bottledwhiskey","bottledshine"]]};
      case "bar": {["The Lounge",["bottles","cornmeal"]]};
      case "uranium": {["Marchand Uranium",["uranium","puranium"]]};
      };

      Dann core\shops\fn_virt_buy.sqf

      Spoiler anzeigen


      #include <macro.h>
      /*
      File: fn_virt_buy.sqf
      Author: Bryan "Tonic" Boardwine

      Description:
      Buy a virtual item from the store.
      */
      private["_type","_price","_amount","_diff","_name","_hideout"];
      if((lbCurSel 2401) == -1) exitWith {hint localize "STR_Shop_Virt_Nothing"};
      _type = lbData[2401,(lbCurSel 2401)];
      _price = lbValue[2401,(lbCurSel 2401)];
      _amount = ctrlText 2404;
      if(!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";};
      _diff = [_type,parseNumber(_amount),life_carryWeight,life_maxWeight] call life_fnc_calWeightDiff;
      _amount = parseNumber(_amount);
      if(_diff <= 0) exitWith {hint localize "STR_NOTF_NoSpace"};
      _amount = _diff;
      _hideout = (nearestObjects[getPosATL player,["Land_u_Barracks_V2_F","Land_i_Barracks_V2_F"],25]) select 0;
      if((_price * _amount) > life_cash && {!isNil "_hideout" && {!isNil {grpPlayer getVariable "gang_bank"}} && {(grpPlayer getVariable "gang_bank") <= _price * _amount}}) exitWith {hint localize "STR_NOTF_NotEnoughMoney"};


      _name = [([_type,0] call life_fnc_varHandle)] call life_fnc_varToStr;


      if(([true,_type,_amount] call life_fnc_handleInv)) then
      {
      if(!isNil "_hideout" && {!isNil {grpPlayer getVariable "gang_bank"}} && {(grpPlayer getVariable "gang_bank") >= _price}) then {
      _action = [
      format[(localize "STR_Shop_Virt_Gang_FundsMSG")+ "<br/><br/>" +(localize "STR_Shop_Virt_Gang_Funds")+ " <t color='#8cff9b'>$%1</t><br/>" +(localize "STR_Shop_Virt_YourFunds")+ " <t color='#8cff9b'>$%2</t>",
      [(grpPlayer getVariable "gang_bank")] call life_fnc_numberText,
      [life_cash] call life_fnc_numberText
      ],
      localize "STR_Shop_Virt_YourorGang",
      localize "STR_Shop_Virt_UI_GangFunds",
      localize "STR_Shop_Virt_UI_YourCash"
      ] call BIS_fnc_guiMessage;
      if(_action) then {
      hint format[localize "STR_Shop_Virt_BoughtGang",_amount,_name,[(_price * _amount)] call life_fnc_numberText];
      _funds = grpPlayer getVariable "gang_bank";
      _funds = _funds - (_price * _amount);
      grpPlayer setVariable["gang_bank",_funds,true];
      [[1,grpPlayer],"TON_fnc_updateGang",false,false] spawn life_fnc_MP;
      } else {
      if((_price * _amount) > life_cash) exitWith {[false,_type,_amount] call life_fnc_handleInv; hint localize "STR_NOTF_NotEnoughMoney";};
      hint format[localize "STR_Shop_Virt_BoughtItem",_amount,_name,[(_price * _amount)] call life_fnc_numberText];
      __SUB__(life_cash,_price * _amount);
      [[1,player,life_shop_type,_amount,_price,_type],"TON_fnc_Ajustprices",false,false] spawn life_fnc_MP;
      };
      } else {
      if((_price * _amount) > life_cash) exitWith {hint localize "STR_NOTF_NotEnoughMoney"; [false,_type,_amount] call life_fnc_handleInv;};
      hint format[localize "STR_Shop_Virt_BoughtItem",_amount,_name,[(_price * _amount)] call life_fnc_numberText];
      __SUB__(life_cash,(_price * _amount));
      [[1,player,life_shop_type,_amount,_price,_type],"TON_fnc_Ajustprices",false,false] spawn life_fnc_MP;
      };
      [] call life_fnc_virt_update;
      };
      [0] call SOCK_fnc_updatePartial;
      [3] call SOCK_fnc_updatePartial;

      Danach core\shops\fn_virt_menu.sqf

      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"};
      createDialog "shops_menu";


      [] call life_fnc_virt_update;

      Gefolgt von core\shops\fn_virt_sell.sqf

      Spoiler anzeigen


      #include <macro.h>
      /*
      File: fn_virt_sell.sqf
      Author: Bryan "Tonic" Boardwine

      Description:
      Sell a virtual item to the store / shop
      */
      private["_type","_index","_price","_var","_amount","_name"];
      if((lbCurSel 2402) == -1) exitWith {};
      _type = lbData[2402,(lbCurSel 2402)];
      _price = lbValue[2402,(lbCurSel 2402)];
      _var = [_type,0] call life_fnc_varHandle;


      _amount = ctrlText 2405;
      if(!([_amount] call TON_fnc_isnumber)) exitWith {hint localize "STR_Shop_Virt_NoNum";};
      _amount = parseNumber (_amount);
      if(_amount > (missionNameSpace getVariable _var)) exitWith {hint localize "STR_Shop_Virt_NotEnough"};


      _price = (_price * _amount);
      _name = [_var] call life_fnc_vartostr;
      if(([false,_type,_amount] call life_fnc_handleInv)) then
      {
      hint format[localize "STR_Shop_Virt_SellItem",_amount,_name,[_price] call life_fnc_numberText];
      life_cash = life_cash + _price;
      [] call life_fnc_virt_update;

      };
      [[0,player,life_shop_type,_amount,_price,_type],"TON_fnc_Ajustprices",false,false] spawn life_fnc_MP;
      if(life_shop_type == "heroin") then
      {
      private["_array","_ind","_val"];
      _array = life_shop_npc getVariable["sellers",[]];
      _ind = [getPlayerUID player,_array] call TON_fnc_index;
      if(_ind != -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 set[count _array,[getPlayerUID player,profileName,_price]];
      life_shop_npc setVariable["sellers",_array,true];
      };
      };


      [0] call SOCK_fnc_updatePartial;

      Zunächst core\shops\fn_virt_update.sqf

      Spoiler anzeigen


      #include <macro.h>
      /*
      File: fn_virt_update.sqf
      Author: Bryan "Tonic" Boardwine

      Description:
      Update and fill the virtual shop menu.
      */
      private["_display","_item_list","_gear_list","_shop_data","_name","_price"];
      disableSerialization;


      //Setup control vars.
      _display = findDisplay 2400;
      _item_list = _display displayCtrl 2401;
      _gear_list = _display displayCtrl 2402;


      //Purge list
      lbClear _item_list;
      lbClear _gear_list;


      _shop_data = [life_shop_type] call life_fnc_virt_shops;
      ctrlSetText[2403,format["%1", _shop_data select 0]];


      _sender = player;
      _uid = getPlayerUID _sender;


      [[0,_sender,life_shop_type],"TON_fnc_getprices",false,false] spawn life_fnc_MP;
      /*
      {
      _name = [([_x,0] call life_fnc_varHandle)] call life_fnc_vartostr;
      _index = [_x,__GETC__(buy_array)] call TON_fnc_index;
      if(_index != -1) then
      {
      _price = (__GETC__(buy_array) select _index) select 1;
      _item_list lbAdd format["%1 ($%2)",_name,[_price] call life_fnc_numberText];
      _item_list lbSetData [(lbSize _item_list)-1,_x];
      _item_list lbSetValue [(lbSize _item_list)-1,_price];
      };
      } foreach (_shop_data select 1);


      {
      _var = [_x,0] call life_fnc_varHandle;
      _val = missionNameSpace getVariable _var;
      _name = [_var] call life_fnc_vartostr;

      if(_val > 0) then
      {
      _gear_list lbAdd format["%1x %2",_val,_name];
      _gear_list lbSetData [(lbSize _gear_list)-1,_x];
      };
      } foreach (_shop_data select 1);
      */

      Und noch die Zeilen aus der Functions.h
      Config:

      Spoiler anzeigen


      class Config
      {
      file = "core\config";
      class licensePrice {};
      class vehicleColorCfg {};
      class vehicleColorStr {};
      class vehicleListCfg {};
      class licenseType {};
      class eatFood {};
      class varHandle {};
      class varToStr {};
      class impoundPrice {};
      class itemWeight {};
      class taxRate {};
      class virt_shops {};
      class vehShopLicenses {};
      class vehicleAnimate {};
      class weaponShopCfg {};
      class vehicleWeightCfg {};
      class houseConfig {};
      class craftCfg {};


      //Clothing Store Configs
      class clothing_cop {};
      class clothing_bruce {};
      class clothing_reb {};
      class clothing_dive {};
      class clothing_medic {};
      class clothing_donator {};
      class clothing_admin {};
      class clothing_kart {};
      class clothing_schwarzmarkt {};
      class clothing_gun {};
      };

      Und die Shops:

      Spoiler anzeigen


      class Shops
      {
      file = "core\shops";
      class atmMenu {};
      class buyClothes {};
      class changeClothes {};
      class clothingMenu {};
      class clothingFilter {};
      class vehicleShopMenu {};
      class vehicleShopLBChange {};
      class vehicleShopBuy {};
      class weaponShopFilter {};
      class weaponShopMenu {};
      class weaponShopSelection {};
      class weaponShopBuySell {};
      class virt_buy {};
      class virt_menu {};
      class virt_sell {};
      class virt_update {};
      class chopShopMenu {};
      class chopShopSelection {};
      class chopShopSell {};
      class licenses {};
      };

      Habe ich etwas vergessen? Ist etwas falsch? Wie kann ich das beheben?

      Mfg
      Timo Goeres

    • Xylometachlorid
      Nerd
      Reaktionen
      402
      Trophäen
      11
      Beiträge
      584
      • 21. Dezember 2015 um 10:52
      • #2

      Das riecht nach einem Klammer-Fehler.
      Einfach nochmal besonnen alle geänderten Dateien durchsehen und nach Fehlenden ";" und "[]" sowie "{}". Da verstecken sich meistens solche Fehler.

      Grüße
      Xylo

      extDB2 Tutorial: extDB2 Einrichten - so geht's richtig

    • Maxwell
      Gast
      • 21. Dezember 2015 um 12:15
      • #3

      Das Problem ist ja, das ich habe es mit dem Script eines Kollegen versucht welches funktioniert. Aber nicht bei uns.

    • xjoniassx
      Schüler
      Reaktionen
      26
      Trophäen
      11
      Beiträge
      116
      • 21. Dezember 2015 um 12:33
      • #4

      Schick mal die rpt Logs.
      Was hast du den zuletzt verändert das des nicht mehr geht?

      Server Adresse: altis.minefactory.eu

      TS: ts.minefactory.eu

      minefactory.eu

    • Maxwell
      Gast
      • 21. Dezember 2015 um 13:23
      • #5

      Das ist es ja ich habe rein garnichts verändert. Das funktioniert einfach nicht. Kannst du mir sagen wo die Virtuellen Shops und die Dateien überall eingetragen sein müssen?

    • Xylometachlorid
      Nerd
      Reaktionen
      402
      Trophäen
      11
      Beiträge
      584
      • 21. Dezember 2015 um 13:53
      • #6

      Nochmal für doofe.

      12 Uhr startest du den Server = alles Funktioniert

      13 Uhr startest du den Server = nichts mehr Funktioniert


      Zwischen den beiden willkürlichen Zeiten hast du keine neue Mission runterladen müssen, ja?

      Grüße
      Xylo

      extDB2 Tutorial: extDB2 Einrichten - so geht's richtig

    • Maxwell
      Gast
      • 21. Dezember 2015 um 13:54
      • #7

      Ja, und ich werte dein Kommetar mal nicht als Beleidiegung. Ich habe nur gefragt wo die Shops und die Dateien eingetragen sind

    • Xylometachlorid
      Nerd
      Reaktionen
      402
      Trophäen
      11
      Beiträge
      584
      • 21. Dezember 2015 um 13:56
      • #8
      Zitat von NiceKype

      Ich habe ein Problem mit den virtuellen Shops. Sie funktionieren nicht.

      Zitat von NiceKype

      Ich habe nur gefragt wo die Shops und die Dateien eingetragen sind

      Nein hast du offensichtlich nicht,

      extDB2 Tutorial: extDB2 Einrichten - so geht's richtig

    • Maxwell
      Gast
      • 22. Dezember 2015 um 15:16
      • #9
      Zitat von NiceKype

      Das ist es ja ich habe rein garnichts verändert. Das funktioniert einfach nicht. Kannst du mir sagen wo die Virtuellen Shops und die Dateien überall eingetragen sein müssen?

      Genau das habe ich geschrieben. Es gibt keinen Fehler und ich habe daran nichts verändert. Ich möchte nur wissen wo die Daten der virtuellen Shops überall drin stehen müssen.

    • SirFluffyVonKitten
      Nerd
      Reaktionen
      407
      Trophäen
      11
      Beiträge
      798
      Bilder
      3
      • 12. Januar 2016 um 20:59
      • #10

      Da der TE aus dem Forum ausgeschlossen wurde:
      [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

    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™