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
Fr: 23 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

    Fahrzeug Init beim Spawnen zuweisen.

    • PoweredByte
    • 30. Juli 2016 um 13:17
    • Geschlossen
    • Erledigt
    • PoweredByte
      Amateur
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      261
      • 30. Juli 2016 um 13:17
      • #1

      Hallo, wie kann ich NUR den Polizisten beim Spawnen eines Autos folgende Init dem Fahrzeug zuweisen: this animate ["daylights_hide", 1];this animate ["Secondary", 1];this animate ["Switch_2", 1];this animate ["Lightbar", 1];

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 30. Juli 2016 um 13:25
      • #2

      in server/Functions/Systems/fn_spawnVehicle.sqf so etwas in der Art einbauen:
      if(_side isEqualTo west) then {_vehicle animate ..... }

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • PoweredByte
      Amateur
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      261
      • 30. Juli 2016 um 15:02
      • #3

      Ich habe das jetzt so gemacht:

      if(_side isEqualTo west) then {this animate ["daylights_hide", 1];this animate ["Secondary", 1];this animate ["Switch_2", 1];this animate ["Lightbar", 1];};

      Und es funktioniert leider nicht. Habe ich was falsch gemacht?

      So sieht der Code nun aus:

      Code: fn_spawnVehicle.sqf
      #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"];
      _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;
      _unit_return = _unit;
      _name = name _unit;
      _side = side _unit;
      _unit = owner _unit;
      
      
      
      
      if(EQUAL(_vid,-1) OR EQUAL(_pid,"")) 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 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") == 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(EQUAL(typeName _queryResult,typeName "")) exitWith {};
      
      
      
      
      _vInfo = _queryResult;
      if(isNil "_vInfo") exitWith {serv_sv_use deleteAt _servIndex;};
      if(EQUAL(count _vInfo,0)) exitWith {serv_sv_use deleteAt _servIndex;};
      
      
      
      
      if(EQUAL(SEL(_vInfo,5),0)) exitWith {
      	serv_sv_use deleteAt _servIndex;
      	[1,format[(localize "STR_Garage_SQLError_Destroyed"),_vInfo select 2]] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      
      
      
      
      if(EQUAL(SEL(_vInfo,6),1)) exitWith {
      	serv_sv_use deleteAt _servIndex;
      	[1,format[(localize "STR_Garage_SQLError_Active"),_vInfo select 2]] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      
      
      
      
      if!(EQUAL(typeName _sp,typeName "")) then {
      	_nearVehicles = nearestObjects[_sp,["Car","Air","Ship"],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' WHERE pid='%1' AND id='%2'",_pid,_vid];
      
      
      
      
      _trunk = [_vInfo select 9] call DB_fnc_mresToArray;
      _gear = [_vInfo select 10] call DB_fnc_mresToArray;
      
      
      
      
      [_query,false] spawn DB_fnc_asyncCall;
      if(typeName _sp == "STRING") 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]);
      	sleep 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 setFuel (_vInfo select 11);
      _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]];
      _vehicle setVariable["Trunk",_trunk,true];
      _vehicle disableTIEquipment true; //No Thermals.. They're cheap but addictive.
      
      
      
      
      [_vehicle] call life_fnc_clearVehicleAmmo;
      
      
      
      
      if (count _gear > 0) 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(_side isEqualTo west) then {this animate ["daylights_hide", 1];this animate ["Secondary", 1];this animate ["Switch_2", 1];this animate ["Lightbar", 1];};
      //Sets of animations
      if(EQUAL(SEL(_vInfo,1),"civ") && EQUAL(SEL(_vInfo,2),"B_Heli_Light_01_F") && !(EQUAL(SEL(_vInfo,8),13))) then {
      	[_vehicle,"civ_littlebird",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };
      
      
      
      
      if(EQUAL(SEL(_vInfo,1),"cop") && (SEL(_vInfo,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(EQUAL(SEL(_vInfo,1),"med") && EQUAL(SEL(_vInfo,2),"C_Offroad_01_F")) then {
      	[_vehicle,"med_offroad",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };
      [1,"Your vehicle is ready!"] remoteExecCall ["life_fnc_broadcast",_unit];
      serv_sv_use deleteAt _servIndex;
      Alles anzeigen
    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 30. Juli 2016 um 15:44
      • #4

      Ich versuche es mal mit meinem Laienwissen in Informatik zu erklären:

      this zeigt immer auf sich selbst.
      Du möchtest aber dein Fahrzeug animieren. Und das ist hier in der Datei durch _vehicle definiert.
      Also musst du this durch _vehicle austauschen

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • PoweredByte
      Amateur
      Reaktionen
      36
      Trophäen
      11
      Beiträge
      261
      • 30. Juli 2016 um 15:53
      • #5

      So sieht mein Code jetzt aus -> if(_side isEqualTo west) then {_vehicle animate ["daylights_hide", 1]; _vehicle animate ["Secondary", 1]; _vehicle animate ["Switch_2", 1]; _vehicle animate ["Lightbar", 1]; _vehicle setVariable ["Red", 0, TRUE]; _vehicle setVariable ["Green", 0, TRUE]; _vehicle setVariable ["Blue", 0.4, TRUE];};

      Die Zeile: _vehicle setVariable ["Red", 0, TRUE]; _vehicle setVariable ["Green", 0, TRUE]; _vehicle setVariable ["Blue", 0.4, TRUE]; ist dafür da um dem Auto einen leichten Blauton zu verschaffen, aufjedenfall funktioniert es nicht :/

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 1. August 2016 um 02:01
      • #6

      Probier mal bitte

      C
      #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"];
      _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;
      _unit_return = _unit;
      _name = name _unit;
      _side = side _unit;
      _unit = owner _unit;
      if(EQUAL(_vid,-1) OR EQUAL(_pid,"")) 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 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") == 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(EQUAL(typeName _queryResult,typeName "")) exitWith {};
      _vInfo = _queryResult;
      if(isNil "_vInfo") exitWith {serv_sv_use deleteAt _servIndex;};
      if(EQUAL(count _vInfo,0)) exitWith {serv_sv_use deleteAt _servIndex;};
      if(EQUAL(SEL(_vInfo,5),0)) exitWith {
       serv_sv_use deleteAt _servIndex;
       [1,format[(localize "STR_Garage_SQLError_Destroyed"),_vInfo select 2]] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      if(EQUAL(SEL(_vInfo,6),1)) exitWith {
       serv_sv_use deleteAt _servIndex;
       [1,format[(localize "STR_Garage_SQLError_Active"),_vInfo select 2]] remoteExecCall ["life_fnc_broadcast",_unit];
      };
      if!(EQUAL(typeName _sp,typeName "")) then {
       _nearVehicles = nearestObjects[_sp,["Car","Air","Ship"],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' WHERE pid='%1' AND id='%2'",_pid,_vid];
      _trunk = [_vInfo select 9] call DB_fnc_mresToArray;
      _gear = [_vInfo select 10] call DB_fnc_mresToArray;
      [_query,false] spawn DB_fnc_asyncCall;
      if(typeName _sp == "STRING") 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]);
       sleep 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 setFuel (_vInfo select 11);
      _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]];
      _vehicle setVariable["Trunk",_trunk,true];
      _vehicle disableTIEquipment true; //No Thermals.. They're cheap but addictive.
      [_vehicle] call life_fnc_clearVehicleAmmo;
      if (count _gear > 0) 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(_side isEqualTo west) then {this animate ["daylights_hide", 1];this animate ["Secondary", 1];this animate ["Switch_2", 1];this animate ["Lightbar", 1];};
      //Sets of animations
      switch((SEL(_vInfo,1))) do {
      	case "cop": {
      		[_vehicle,"cop_offroad",true] spawn life_fnc_vehicleAnimate;
      
      
      
      
          _vehicle animate ["daylights_hide", 1];
          _vehicle animate ["Secondary", 1];
          _vehicle animate ["Switch_2", 1];
          _vehicle animate ["Lightbar", 1];
          _vehicle setVariable ["Red", 0, TRUE]; 
          _vehicle setVariable ["Green", 0, TRUE]; 
          _vehicle setVariable ["Blue", 0.4, TRUE];
      
      
      
      
      		if((SEL(_vInfo,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];
      		};
      	};
      
      
      
      
      	case "civ": {
      
      
      
      
      
      
      
      
      
      
      		if((SEL(_vInfo,2)) in ["C_Offroad_01_F"])then{
      			[_vehicle,"civ_offroad",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      		};
      		if(EQUAL(SEL(_vInfo,2),"B_Heli_Light_01_F") && !(EQUAL(SEL(_vInfo,8),13))) then {
      			[_vehicle,"civ_littlebird",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      		};
      	};
      
      
      
      
      	case "med": {
      
      
      
      
      
      
      
      		if((SEL(_vInfo,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,"med_offroad",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      		};
      	};
      };
      
      
      
      
      [1,"Your vehicle is ready!"] remoteExecCall ["life_fnc_broadcast",_unit];
      serv_sv_use deleteAt _servIndex;
      Alles anzeigen

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

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

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • fahrzeug
    • scripts
    • Mods

    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™