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
Mo: 19 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

    IGload

    • Tronic
    • 29. September 2016 um 10:15
    • Geschlossen
    • Erledigt
    • Tronic
      Frischling
      Trophäen
      9
      Beiträge
      11
      • 29. September 2016 um 10:15
      • #1

      Guten Morgen ..

      Folgendes:

      Habe IGload auf dem server ... funtioniert alles wunderbar. Nur die Boxen machen mich wahnsinnig, Kaufen, Schlüssel, "T" inventar usw alles funktioniert, nur habe ich das problem das ich die 2 Kisten - Land_CargoBox_V1_F und Land_Cargo20_blue_F nicht wieder aus der garrage abrufen kann bzw sie mir dort nicht angezeigt werden ..

      Sie werden in der datenbank gespeichert als type: "ThingX" (habe ich so eingestellt)
      und ich kann sie auch an der garage einparken .... nur bekomme ich es nicht hin das sie nun von der Datenbank in der garage angezeigt werden Bzw. wieder abgerufen werden können ..

      Jemand eine Idee ??

      Meine fn_spawnVehicle.sqf

      Spoiler anzeigen

      #include "\life_server\script_macros.hpp"
      /*
      File: fn_spawnVehicle.sqf
      Author: Bryan "Tonic" Boardwine

      Description:
      Sends the query request to the database, if an array is returned then it creates
      the vehicle if it's not in use or dead.
      */
      private["_vid","_sp","_pid","_query","_sql","_vehicle","_nearVehicles","_name","_side","_tickTime","_dir","_servIndex","_damage","_wasIllegal","_location","_thread"];
      _vid = [_this,0,-1,[0]] call BIS_fnc_param;
      _pid = [_this,1,"",[""]] call BIS_fnc_param;
      _sp = [_this,2,[],[[],""]] call BIS_fnc_param;
      _unit = [_this,3,ObjNull,[ObjNull]] call BIS_fnc_param;
      _price = [_this,4,0,[0]] call BIS_fnc_param;
      _dir = [_this,5,0,[0]] call BIS_fnc_param;
      _spawntext = _this select 6;
      _unit_return = _unit;
      _name = name _unit;
      _side = side _unit;
      _unit = owner _unit;

      if (_vid isEqualTo -1 II _pid isEqualTo "") exitWith {};
      if (_vid in serv_sv_use) exitWith {};
      serv_sv_use pushBack _vid;
      _servIndex = serv_sv_use find _vid;

      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, inventory, gear, fuel, damage, blacklist FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];

      _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 "------------------------------------------------";
      };

      if (_queryResult isEqualType "") exitWith {};

      _vInfo = _queryResult;
      if (isNil "_vInfo") exitWith {serv_sv_use deleteAt _servIndex;};
      if (count _vInfo isEqualTo 0) exitWith {serv_sv_use deleteAt _servIndex;};

      if ((_vInfo select 5) isEqualTo 0) exitWith {
      serv_sv_use deleteAt _servIndex;
      [1,format[(localize "STR_Garage_SQLError_Destroyed"),(_vInfo select 2)]] remoteExecCall ["life_fnc_broadcast",_unit];
      };

      if ((_vInfo select 6) isEqualTo 1) exitWith {
      serv_sv_use deleteAt _servIndex;
      [1,format[(localize "STR_Garage_SQLError_Active"),(_vInfo select 2)]] remoteExecCall ["life_fnc_broadcast",_unit];
      };

      if (!(_sp isEqualType "")) then {
      _nearVehicles = nearestObjects[_sp,["Car","Air","Ship","ThingX"],10];
      } else {
      _nearVehicles = [];
      };

      if (count _nearVehicles > 0) exitWith {
      serv_sv_use deleteAt _servIndex;
      [_price,_unit_return] remoteExecCall ["life_fnc_garageRefund",_unit];
      [1,(localize "STR_Garage_SpawnPointError")] remoteExecCall ["life_fnc_broadcast",_unit];
      };

      _query = format["UPDATE vehicles SET active='1', damage='""[]""' WHERE pid='%1' AND id='%2'",_pid,_vid];

      _trunk = [(_vInfo select 9)] call DB_fnc_mresToArray;
      _gear = [(_vInfo select 10)] call DB_fnc_mresToArray;
      _damage = [(_vInfo select 12)] call DB_fnc_mresToArray;
      _wasIllegal = (_vInfo select 13);
      _wasIllegal = if (_wasIllegal isEqualTo 1) then { true } else { false };

      [_query,1] call DB_fnc_asyncCall;
      if (_sp isEqualType "") then {
      _vehicle = createVehicle[(_vInfo select 2),[0,0,999],[],0,"NONE"];
      waitUntil {!isNil "_vehicle" && {!isNull _vehicle}};
      _vehicle allowDamage false;
      _hs = nearestObjects[getMarkerPos _sp,["Land_Hospital_side2_F"],50] select 0;
      _vehicle setPosATL (_hs modelToWorld [-0.4,-4,12.65]);
      uiSleep 0.6;
      } else {
      _vehicle = createVehicle [(_vInfo select 2),_sp,[],0,"NONE"];
      waitUntil {!isNil "_vehicle" && {!isNull _vehicle}};
      _vehicle allowDamage false;
      _vehicle setPos _sp;
      _vehicle setVectorUp (surfaceNormal _sp);
      _vehicle setDir _dir;
      };
      _vehicle allowDamage true;
      //Send keys over the network.
      [_vehicle] remoteExecCall ["life_fnc_addVehicle2Chain",_unit];
      [_pid,_side,_vehicle,1] call TON_fnc_keyManagement;
      _vehicle lock 2;
      //Reskin the vehicle
      [_vehicle,(_vInfo select 8)] remoteExecCall ["life_fnc_colorVehicle",_unit];
      _vehicle setVariable["vehicle_info_owners",[[_pid,_name]],true];
      _vehicle setVariable["dbInfo",[(_vInfo select 4),(_vInfo select 7)],true];
      _vehicle disableTIEquipment true; //No Thermals.. They're cheap but addictive.
      [_vehicle] call life_fnc_clearVehicleAmmo;

      // Avoid problems if u keep changing which stuff to save!
      if (LIFE_SETTINGS(getNumber,"save_vehicle_virtualItems") isEqualTo 1) then {
      _vehicle setVariable["Trunk",_trunk,true];
      if (_wasIllegal) then {
      if (_sp isEqualType "") then {
      _location= (nearestLocations [getPos _sp,["NameCityCapital","NameCity","NameVillage"],1000]) select 0;
      } else {
      _location= (nearestLocations [_sp,["NameCityCapital","NameCity","NameVillage"],1000]) select 0;
      };
      _location = text _location;
      _msg = format[localize "STR_NOTF_BlackListedVehicle", _location ,_name];

      [1,_msg,false] remoteExecCall ["life_fnc_broadcast",west];
      _query = format["UPDATE vehicles SET blacklist='0' WHERE id='%1' AND pid='%2'",_vid,_pid];
      _thread = [_query,1] call DB_fnc_asyncCall;
      };
      }else{
      _vehicle setVariable["Trunk",[[],0],true];
      };

      if (LIFE_SETTINGS(getNumber,"save_vehicle_fuel") isEqualTo 1) then {
      _vehicle setFuel (_vInfo select 11);
      }else{
      _vehicle setFuel 1;
      };

      if (count _gear > 0 && (LIFE_SETTINGS(getNumber,"save_vehicle_inventory") isEqualTo 1)) then {
      _items = _gear select 0;
      _mags = _gear select 1;
      _weapons = _gear select 2;
      _backpacks = _gear select 3;

      for "_i" from 0 to ((count (_items select 0)) - 1) do {
      _vehicle addItemCargoGlobal [((_items select 0) select _i), ((_items select 1) select _i)];
      };
      for "_i" from 0 to ((count (_mags select 0)) - 1) do {
      _vehicle addMagazineCargoGlobal [((_mags select 0) select _i), ((_mags select 1) select _i)];
      };
      for "_i" from 0 to ((count (_weapons select 0)) - 1) do {
      _vehicle addWeaponCargoGlobal [((_weapons select 0) select _i), ((_weapons select 1) select _i)];
      };
      for "_i" from 0 to ((count (_backpacks select 0)) - 1) do {
      _vehicle addBackpackCargoGlobal [((_backpacks select 0) select _i), ((_backpacks select 1) select _i)];
      };
      };

      if (count _damage > 0 && (LIFE_SETTINGS(getNumber,"save_vehicle_damage") isEqualTo 1)) then {
      _parts = getAllHitPointsDamage _vehicle;

      for "_i" from 0 to ((count _damage) - 1) do {
      _vehicle setHitPointDamage [format["%1",((_parts select 0) select _i)],_damage select _i];
      };
      };

      //Sets of animations
      if ((_vInfo select 1) isEqualTo "civ" && (_vInfo select 2) isEqualTo "B_Heli_Light_01_F" && !((_vInfo select 8) isEqualTo 13)) then {
      [_vehicle,"civ_littlebird",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };

      if ((_vInfo select 1) isEqualTo "cop" && ((_vInfo select 2)) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then {
      [_vehicle,"cop_offroad",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };

      if ((_vInfo select 1) isEqualTo "med" && (_vInfo select 2) isEqualTo "C_Offroad_01_F") then {
      [_vehicle,"med_offroad",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };

      [1,_spawntext] remoteExecCall ["life_fnc_broadcast",_unit];
      serv_sv_use deleteAt _servIndex;

      meine fn_vehicleCreate.sqf

      Spoiler anzeigen

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

      Description:
      Answers the query request to create the vehicle in the database.
      */
      private["_uid","_side","_type","_classname","_color","_plate"];
      _uid = [_this,0,"",[""]] call BIS_fnc_param;
      _side = [_this,1,sideUnknown,[west]] call BIS_fnc_param;
      _vehicle = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      _color = [_this,3,-1,[0]] call BIS_fnc_param;

      //Error checks
      if (_uid isEqualTo "" II _side isEqualTo sideUnknown II isNull _vehicle) exitWith {};
      if (!alive _vehicle) exitWith {};
      _className = typeOf _vehicle;
      _type = switch (true) do {
      case (_vehicle isKindOf "Car"): {"Car"};
      case (_vehicle isKindOf "Air"): {"Air"};
      case (_vehicle isKindOf "Ship"): {"Ship"};
      case (_vehicle isKindOf "ThingX"): {"ThingX"};
      };

      _side = switch (_side) do {
      case west:{"cop"};
      case civilian: {"civ"};
      case independent: {"med"};
      default {"Error"};
      };

      _plate = round(random(1000000));
      [_uid,_side,_type,_classname,_color,_plate] call DB_fnc_insertVehicle;

      _vehicle setVariable["dbInfo",[_uid,_plate],true];

      Danke schonmal ^^

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 30. September 2016 um 06:27
      • #2

      Zeig lieber mal deine Init des NPCs... wenn die als ThingX in der DB stehen, muss der NPC auch die ThingX Objekte abrufen und nicht Car

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Tronic
      Frischling
      Trophäen
      9
      Beiträge
      11
      • 30. September 2016 um 11:45
      • #3

      und genau das habe ich auch nun rausgefunden ... aber danke trotzdem ... :thumbup:

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 30. September 2016 um 13:27
      • #4

      RPT vom Server so wie vom Client bitte beim versuchen auszuparken

      ReallifeRPG Admin, Scripter, Technischer Helfer, und Manchmal auch Spieler

      realliferpg128x128.png?resize=128%2C128&ssl=1

    • Tronic
      Frischling
      Trophäen
      9
      Beiträge
      11
      • 30. September 2016 um 15:46
      • #5

      ist dich schon erledigt ... ;) habs ja noch hinbekommen ..

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    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™