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: 30 Juni 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. stolzerrabe

    Beiträge von stolzerrabe

    • [TUTORIAL] Vehicle Shop mit Vorschau | Altis Life 3.1.4.8

      • stolzerrabe
      • 19. Dezember 2016 um 19:15

      Melde mich nach langer zeit mal kurz wieder:

      AN ALLE, bei denen seit dem Einbau des Scripts, die Listen wie: Garage, Kofferraum, zInventar etc länger zum laden brauchen:

      ENTFRENT DAS VEHICLEROTATE!

    • [TUTORIAL] Fahrzeug-Schaden und Tankfüllung speichern

      • stolzerrabe
      • 17. Juni 2016 um 17:14

      Eins vorweg:
      Hier wird in die Datenbank eingegriffen!
      BACKUPS SIND PFLICHT!
      Weder ich, noch Native-Network sind für eure Fehler verantwortlich!
      Einbau auf EIGENE GEFAHR :D


      Dieses Tutorial sorgt dafür, dass ihr euren Schaden am Auto, sowie die Tankfüllung in der Datenbank speichert.
      ES IST NUR AUF "LANDVEHICLE" anwendbar.
      Helicopter / Flugzeuge / Boote sind unbetroffen.
      Diese nutzen andere Hitpoints
      Mir selber waren nur Autos wichtig!


      Schritt eins:
      Die Datenbank muss erweitert werden:

      SQL
      ALTER TABLE `vehicles` 
      ADD `fuelstand` float(20,5) NOT NULL DEFAULT '1.00000',
      ADD  `HitBody` float(20,5) NOT NULL,
      ADD  `HitEngine` float(20,5) NOT NULL,
      ADD  `HitFuel` float(20,5) NOT NULL,
      ADD  `HitLFWheel` float(20,5) NOT NULL,
      ADD  `HitRFWheel` float(20,5) NOT NULL,
      ADD  `HitLF2Wheel` float(20,5) NOT NULL,
      ADD  `HitRF2Wheel` float(20,5) NOT NULL,
      ADD  `HitLMWheel` float(20,5) NOT NULL,
      ADD  `HitRMWheel` float(20,5) NOT NULL,
      ADD  `HitLBWheel` float(20,5) NOT NULL,
      ADD  `HitRBWheel` float(20,5) NOT NULL
      AFTER `inventory`;
      Alles anzeigen



      Schritt zwei:
      ACHTUNG! - FUNKTIONIERT NUR, WENN DIESE DATEIEN NOCH NICHT ANGEPASST WURDEN!
      Solltet ihr diese Dateien schon bearbeitet haben, schaut euch die Querys an.
      Im Grunde ist es alles was ich mit den  ***********************************  markiert habe.

      Öffne life_server\Functions\System\fn_getVehicles.sqf und ersetzt den Inhalt mit diesem

      Spoiler anzeigen
      SQL: fn_getVehicles.sqf
      /*
      	File: fn_getVehicles.sqf
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	Sends a request to query the database information and returns vehicles.
      */
      private["_pid","_side","_type","_unit","_ret","_tickTime","_queryResult","_vFuel","_vHitBody","_vHitEngine","_vHitFuel","_vHitLFWheel","_vHitRFWheel","_vHitLF2Wheel","_vHitRF2Wheel","_vHitLMWheel","_vHitRMWheel","_vHitLBWheel","_vHitRBWheel"];
      _pid = [_this,0,"",[""]] call BIS_fnc_param;
      _side = [_this,1,sideUnknown,[west]] call BIS_fnc_param;
      _type = [_this,2,"",[""]] call BIS_fnc_param;
      _unit = [_this,3,ObjNull,[ObjNull]] call BIS_fnc_param;
      
      
      
      
      //Error checks
      if(_pid == "" OR _side == sideUnknown OR _type == "" OR isNull _unit) exitWith
      {
      	if(!isNull _unit) then
      	{
      		[[[]],"life_fnc_impoundMenu",(owner _unit),false] spawn life_fnc_MP;
      	};
      };
      
      
      
      
      _unit = owner _unit;
      _side = switch(_side) do
      {
      	case west:{"cop"};
      	case civilian: {"civ"};
      	case independent: {"med"};
      	default {"Error"};
      };
      
      
      
      
      if(_side == "Error") exitWith {
      	[[[]],"life_fnc_impoundMenu",(owner _unit),false] spawn life_fnc_MP;
      };
      
      
      
      
      
      
      
      /*
      	**************************
      	* DATENBANK 
      	* ORIGINAL QUERY
      	* _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color FROM vehicles WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",_pid,_side,_type];
      	**************************
      */	
      	_query = format[
      	"SELECT 
      		id,
      		side,
      		classname,
      		type,
      		pid,
      		alive,
      		active,
      		plate,
      		color,
      		fuelstand,
      		HitBody,
      		HitEngine,
      		HitFuel,
      		HitLFWheel,
      		HitRFWheel,
      		HitLF2Wheel,
      		HitRF2Wheel,
      		HitLMWheel,
      		HitRMWheel,
      		HitLBWheel,
      		HitRBWheel
      	FROM vehicles 
      	WHERE pid='%1' AND alive='1' AND active='0' AND side='%2' AND type='%3'",
      	_pid,
      	_side,
      	_type
      	];
      
      
      
      
      
      
      
      
      
      
      waitUntil{sleep (random 0.3); !DB_Async_Active};
      _tickTime = diag_tickTime;
      _queryResult = [_query,2,true] 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 {
      	[[[]],"life_fnc_impoundMenu",(owner _unit),false] spawn life_fnc_MP;
      };
      
      
      
      
      [[_queryResult],"life_fnc_impoundMenu",_unit,false] spawn life_fnc_MP;
      Alles anzeigen


      Öffne life_server\Functions\System\fn_vehicleStore.sqf und ersetzt den Inhalt mit diesem

      Spoiler anzeigen
      SQL: fn_vehicleStore.sqf
      /*
      	File: fn_vehicleStore.sqf
      	Author: Bryan "Tonic" Boardwine
      	Description:
      	Stores the vehicle in the 'Garage'
      */
      private["_vehicle","_impound","_vInfo","_vInfo","_plate","_uid","_query","_sql","_unit","_vFuel","_vHitBody","_vHitEngine","_vHitFuel","_vHitLFWheel","_vHitRFWheel","_vHitLF2Wheel","_vHitRF2Wheel","_vHitLMWheel","_vHitRMWheel","_vHitLBWheel","_vHitRBWheel"];
      _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _impound = [_this,1,false,[true]] call BIS_fnc_param;
      _unit = [_this,2,ObjNull,[ObjNull]] call BIS_fnc_param;
      
      
      
      
      if(isNull _vehicle OR isNull _unit) exitWith {life_impound_inuse = false; (owner _unit) publicVariableClient "life_impound_inuse";life_garage_store = false;(owner _unit) publicVariableClient "life_garage_store";}; //Bad data passed.
      
      
      
      
      _vInfo = _vehicle getVariable["dbInfo",[]];
      if(count _vInfo > 0) then
      {
      	_plate = _vInfo select 1;
      	_uid = _vInfo select 0;
      };
      
      
      
      
      /*
      	**************************
      	* SPRIT
      	**************************
      */
      _vFuel = fuel _vehicle;
      
      
      
      
      /*
      	**************************
      	* DAMAGE ZUWEISUNG
      	**************************
      */
      if (_vehicle isKindOf "LandVehicle") then
      {		
      	_vHitBody 		= _vehicle getHitPointDamage "HitBody";
      	_vHitEngine 	= _vehicle getHitPointDamage "HitEngine";
      	_vHitFuel 		= _vehicle getHitPointDamage "HitFuel";
      	_vHitLFWheel 	= _vehicle getHitPointDamage "HitLFWheel";
      	_vHitRFWheel 	= _vehicle getHitPointDamage "HitRFWheel";
      	_vHitLF2Wheel 	= _vehicle getHitPointDamage "HitLF2Wheel";
      	_vHitRF2Wheel 	= _vehicle getHitPointDamage "HitRF2Wheel";
      	_vHitLMWheel 	= _vehicle getHitPointDamage "HitLMWheel";
      	_vHitRMWheel 	= _vehicle getHitPointDamage "HitRMWheel";
      	_vHitLBWheel 	= _vehicle getHitPointDamage "HitLBWheel";
      	_vHitRBWheel 	= _vehicle getHitPointDamage "HitRBWheel";	
      }else{
      	_vHitBody 		= 0;
      	_vHitEngine 	= 0;
      	_vHitFuel		= 0;
      	_vHitLFWheel	= 0;
      	_vHitRFWheel	= 0;
      	_vHitLF2Wheel	= 0;
      	_vHitRF2Wheel	= 0;
      	_vHitLMWheel	= 0;
      	_vHitRMWheel	= 0;
      	_vHitLBWheel	= 0;
      	_vHitRBWheel	= 0;
      };
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      if(_impound) then
      {
      	if(count _vInfo == 0) then 
      	{
      		life_impound_inuse = false;
      		(owner _unit) publicVariableClient "life_impound_inuse";
      		if(!isNil "_vehicle" && {!isNull _vehicle}) then {
      			deleteVehicle _vehicle;
      		};
      	} 
      		else
      	{
      /*
      	**************************
      	* DATENBANK EINTRAG
      	* ORIGINAL QUERY
      	* _query = format["UPDATE vehicles SET active='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      	**************************
      */	
      	_query = format[
      		"UPDATE vehicles SET 
      		active='0', 
      		fuelstand='%3',
      		HitBody='%4',
      		HitEngine='%5',
      		HitFuel='%6',
      		HitLFWheel='%7',
      		HitRFWheel='%8',
      		HitLF2Wheel='%9',
      		HitRF2Wheel='%10',
      		HitLMWheel='%11',
      		HitRMWheel='%12',
      		HitLBWheel='%13',
      		HitRBWheel='%14'		
      		WHERE pid='%1' AND plate='%2'",
      		_uid,
      		_plate,
      		_vFuel,
      		_vHitBody,
      		_vHitEngine,
      		_vHitFuel,
      		_vHitLFWheel,
      		_vHitRFWheel,
      		_vHitLF2Wheel,
      		_vHitRF2Wheel,
      		_vHitLMWheel,
      		_vHitRMWheel,
      		_vHitLBWheel,
      		_vHitRBWheel
      		];
      
      
      
      
      		waitUntil {!DB_Async_Active};
      		_thread = [_query,1] call DB_fnc_asyncCall;
      		//waitUntil {scriptDone _thread};
      		if(!isNil "_vehicle" && {!isNull _vehicle}) then {
      			deleteVehicle _vehicle;
      		};
      		life_impound_inuse = false;
      		(owner _unit) publicVariableClient "life_impound_inuse";
      	};
      }
      	else
      {
      	if(count _vInfo == 0) exitWith
      	{
      		[[1,(localize "STR_Garage_Store_NotPersistent")],"life_fnc_broadcast",(owner _unit),false] spawn life_fnc_MP;
      		life_garage_store = false;
      		(owner _unit) publicVariableClient "life_garage_store";
      	};
      	if(_uid != getPlayerUID _unit) exitWith
      	{
      		[[1,(localize "STR_Garage_Store_NoOwnership")],"life_fnc_broadcast",(owner _unit),false] spawn life_fnc_MP;
      		life_garage_store = false;
      		(owner _unit) publicVariableClient "life_garage_store";
      	};
      /*
      	**************************
      	* DATENBANK EINTRAG
      	* ORIGINAL QUERY
      	* _query = format["UPDATE vehicles SET active='0' WHERE pid='%1' AND plate='%2'",_uid,_plate];
      	**************************
      */	
      		_query = format[
      		"UPDATE vehicles SET 
      		active='0', 
      		fuelstand='%3',
      		HitBody='%4',
      		HitEngine='%5',
      		HitFuel='%6',
      		HitLFWheel='%7',
      		HitRFWheel='%8',
      		HitLF2Wheel='%9',
      		HitRF2Wheel='%10',
      		HitLMWheel='%11',
      		HitRMWheel='%12',
      		HitLBWheel='%13',
      		HitRBWheel='%14'		
      		WHERE pid='%1' AND plate='%2'",
      		_uid,
      		_plate,
      		_vFuel,
      		_vHitBody,
      		_vHitEngine,
      		_vHitFuel,
      		_vHitLFWheel,
      		_vHitRFWheel,
      		_vHitLF2Wheel,
      		_vHitRF2Wheel,
      		_vHitLMWheel,
      		_vHitRMWheel,
      		_vHitLBWheel,
      		_vHitRBWheel
      		];
      	waitUntil {!DB_Async_Active};
      	_thread = [_query,1] call DB_fnc_asyncCall;
      	//waitUntil {scriptDone _thread};
      	if(!isNil "_vehicle" && {!isNull _vehicle}) then {
      		deleteVehicle _vehicle;
      	};
      	life_garage_store = false;
      	(owner _unit) publicVariableClient "life_garage_store";
      	[[1,(localize "STR_Garage_Store_Success")],"life_fnc_broadcast",(owner _unit),false] spawn life_fnc_MP;
      };
      Alles anzeigen


      Öffne life_server\Functions\System\fn_spawnVehicle.sqf und ersetzt den Inhalt mit diesem

      Spoiler anzeigen
      SQL: fn_spawnVehicle.sqf
      /*
      	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","_vFuel","_vHitBody","_vHitEngine","_vHitFuel","_vHitLFWheel","_vHitRFWheel","_vHitLF2Wheel","_vHitRF2Wheel","_vHitLMWheel","_vHitRMWheel","_vHitLBWheel","_vHitRBWheel"];
      _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(_vid == -1 OR _pid == "") exitWith {};
      if(_vid in serv_sv_use) exitWith {};
      serv_sv_use pushBack _vid;
      
      
      
      
      
      
      
      /*
      	**************************
      	* ORIGINAL QUERY
      	* _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];
      	**************************
      */
      _query = format["SELECT id, side, classname, type, pid, alive, active, plate, color, fuelstand, HitBody, HitEngine, HitFuel, HitLFWheel, HitRFWheel, HitLF2Wheel, HitRF2Wheel, HitLMWheel, HitRMWheel, HitLBWheel,HitRBWheel FROM vehicles WHERE id='%1' AND pid='%2'",_vid,_pid];
      
      
      
      
      
      
      
      
      
      
      
      
      
      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 {};
      
      
      
      
      _vInfo = _queryResult;
      if(isNil "_vInfo") exitWith {serv_sv_use = serv_sv_use - [_vid];};
      if(count _vInfo == 0) exitWith {serv_sv_use = serv_sv_use - [_vid];};
      
      
      
      
      if((_vInfo select 5) == 0) exitWith
      {
      	serv_sv_use = serv_sv_use - [_vid];
      	[[1,format[(localize "STR_Garage_SQLError_Destroyed"),_vInfo select 2]],"life_fnc_broadcast",_unit,false] spawn life_fnc_MP;
      };
      
      
      
      
      if((_vInfo select 6) == 1) exitWith
      {
      	serv_sv_use = serv_sv_use - [_vid];
      	[[1,format[(localize "STR_Garage_SQLError_Active"),_vInfo select 2]],"life_fnc_broadcast",_unit,false] spawn life_fnc_MP;
      };
      if(typeName _sp != "STRING") then {
      	_nearVehicles = nearestObjects[_sp,["Car","Air","Ship"],10];
      } else {
      	_nearVehicles = [];
      };
      if(count _nearVehicles > 0) exitWith
      {
      	serv_sv_use = serv_sv_use - [_vid];
      	[[_price,_unit_return],"life_fnc_garageRefund",_unit,false] spawn life_fnc_MP;
      	[[1,(localize "STR_Garage_SpawnPointError")],"life_fnc_broadcast",_unit,false] spawn life_fnc_MP;
      };
      
      
      
      
      _query = format["UPDATE vehicles SET active='1' WHERE pid='%1' AND id='%2'",_pid,_vid];
      
      
      
      
      waitUntil {!DB_Async_Active};
      [_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 allowDamage true;
      
      
      
      
      
      
      
      
      
      
      /*
      	**************************
      	* TANK FÜLLUNG
      	**************************
      */
      _vehicle setFuel (_vInfo select 9);
      /*
      	**************************
      	* DAMAGE ZUWEISUNG
      	**************************
      */
      _vHitBody 		= (_vInfo select 10); 
      _vHitEngine 	= (_vInfo select 11);
      _vHitFuel 		= (_vInfo select 12);
      _vHitLFWheel 	= (_vInfo select 13);
      _vHitRFWheel 	= (_vInfo select 14);
      _vHitLF2Wheel 	= (_vInfo select 15);
      _vHitRF2Wheel 	= (_vInfo select 16);
      _vHitLMWheel 	= (_vInfo select 17);
      _vHitRMWheel 	= (_vInfo select 18);
      _vHitLBWheel 	= (_vInfo select 19);
      _vHitRBWheel 	= (_vInfo select 20);
      
      
      
      
      /*
      	***********************************
      	* DAMAGE ZUWEISUNG 
      	* NUR BEI FAHRZEUGEN
      	* FLUGZEUGE / BOOTE / HUBSCHRAUBER
      	* SIND NICHT INBEGRIFFEN!!
      	* DEREN DAMAGEPOINTS SIND ANDERS!
      	***********************************
      */
      if (_vehicle isKindOf "LandVehicle") then
      {
      	_vehicle setHitPointDamage ["HitBody",_vHitBody];
      	_vehicle setHitPointDamage ["HitEngine",_vHitEngine];
      	_vehicle setHitPointDamage ["HitFuel",_vHitFuel];
      	_vehicle setHitPointDamage ["HitLFWheel",_vHitLFWheel];
      	_vehicle setHitPointDamage ["HitRFWheel",_vHitRFWheel];
      	_vehicle setHitPointDamage ["HitLF2Wheel",_vHitLF2Wheel];
      	_vehicle setHitPointDamage ["HitRF2Wheel",_vHitRF2Wheel];
      	_vehicle setHitPointDamage ["HitLMWheel",_vHitLMWheel];
      	_vehicle setHitPointDamage ["HitRMWheel",_vHitRMWheel];
      	_vehicle setHitPointDamage ["HitLBWheel",_vHitLBWheel];
      	_vehicle setHitPointDamage ["HitRBWheel",_vHitRBWheel];
      };
      
      
      
      
      
      
      
      
      
      
      
      
      
      //Send keys over the network.
      [[_vehicle],"life_fnc_addVehicle2Chain",_unit,false] spawn life_fnc_MP;
      [_pid,_side,_vehicle,1] call TON_fnc_keyManagement;
      _vehicle lock 2;
      //Reskin the vehicle 
      [[_vehicle,_vInfo select 8],"life_fnc_colorVehicle",nil,false] spawn life_fnc_MP;
      _vehicle setVariable["vehicle_info_owners",[[_pid,_name]],true];
      _vehicle setVariable["dbInfo",[(_vInfo select 4),_vInfo select 7]];
      //_vehicle addEventHandler["Killed","_this spawn TON_fnc_vehicleDead"]; //Obsolete function?
      [_vehicle] call life_fnc_clearVehicleAmmo;
      
      
      
      
      //Sets of animations
      if((_vInfo select 1) == "civ" && (_vInfo select 2) == "B_Heli_Light_01_F" && _vInfo select 8 != 13) then
      {
      	[[_vehicle,"civ_littlebird",true],"life_fnc_vehicleAnimate",_unit,false] spawn life_fnc_MP;
      };
      
      
      
      
      if((_vInfo select 1) == "cop" && (_vInfo select 2) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F"]) then
      {
      	[[_vehicle,"cop_offroad",true],"life_fnc_vehicleAnimate",_unit,false] spawn life_fnc_MP;
      };
      
      
      
      
      if((_vInfo select 1) == "med" && (_vInfo select 2) == "C_Offroad_01_F") then
      {
      	[[_vehicle,"med_offroad",true],"life_fnc_vehicleAnimate",_unit,false] spawn life_fnc_MP;
      };
      [[1,"Your vehicle is ready!"],"life_fnc_broadcast",_unit,false] spawn life_fnc_MP;
      serv_sv_use = serv_sv_use - [_vid];
      Alles anzeigen
    • [TUTORIAL] Vehicle Shop mit Vorschau | Altis Life 3.1.4.8

      • stolzerrabe
      • 14. Juni 2016 um 00:42
      Zitat von nox

      Also heißt es nicht "Würd mich auch mal interessieren" sondern "Lieber stolzerrabe, würdest du das ganze bitte auch für das normale Altis Life etwas umbauen?" :P

      Ok... Werde mich die Tage dransetzten... ;)
      Verspreche aber keinen Schnellen Erfolg.
      Sobald es drin ist, werde ich es zur Verfügung stellen.
      @nox werde mich bei dir eh noch melden ;) - Privat ist nur gerade wieder viel um die Ohren -

    • [Tutorial] - GPS Tracker für Fahrzeuge

      • stolzerrabe
      • 5. Juni 2016 um 21:02

      Danke dir... Dachte vor ein paar Tage noch "GPS Tracker..." xD
      Hast mir viel arbeit erspaart

    • [Tutorial] Farming-Bug verhindern | Mission End

      • stolzerrabe
      • 4. Juni 2016 um 22:08

      an das Ende jeder Datei, in der du den speedcheck eingebaut hast, kommt in der letzten Zeile

      speedcheck = 0;

    • Fahrzeug MIT OBJEKTEN spawnen - "attachto"

      • stolzerrabe
      • 3. Juni 2016 um 21:12
      Zitat von malicutt

      //Nachrüstblaulicht Malibu 02.06.2016
      if(EQUAL(SEL(_vInfo,1),"med") && (SEL(_vInfo,2)) in ["gek_g65"]) then {
      [_vehicle,"med_car",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };

      Zitat von malicutt

      case "gek_g65":
      {
      _light = "Land_runway_edgelight_blue_F" createVehicle position _vehicle;
      _light attachTo [_vehicle, [0.6, 0, 0] ];
      };

      Du übergibst an die fn_vehicleAnimate.sqf den namen: "med_car"
      und die vehicleAnimate hat eine Case von: "gek_g65"

      Das geht so nicht!
      Die Case muss den Selben namen haben, den du übergibst!


      Schau als vergleich:

      Hier wird der name "civ_littlebird" übergeben

      Zitat von malicutt

      //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];
      };

      und auch als "civ_littlebird" ausgeführt!


      Zitat von malicutt

      case "civ_littlebird":
      {
      _vehicle animate ["addDoors",1];
      _vehicle animate ["addBenches",0];
      _vehicle animate ["addTread",0];
      _vehicle animate ["AddCivilian_hide",1];
      _vehicle lockCargo [2,true];
      _vehicle lockCargo [3,true];
      _vehicle lockCargo [4,true];
      _vehicle lockCargo [5,true];
      };

      Alles anzeigen
    • [Erledigt] Suche diese Mod - Earpiece

      • stolzerrabe
      • 3. Juni 2016 um 01:02

      Habs gefunden =)
      PMC...
      Man suche einfach nach pg_services_pmc.pbo und findet Server mit einer index of/ wo alles gelistet ist =)

      Benötigt werden:

      • pg_services_pmc.pbo
      • pg_services_pmc_config.pbo

      Weil ich nicht weiss, ob ich diese Dateien (Da PG Services nicht mehr weitergeführt wird) hier verlinken darf,
      soll mich einfach jeder anschreiben, der diese auch haben möchte:

    • [Erledigt] Suche diese Mod - Earpiece

      • stolzerrabe
      • 3. Juni 2016 um 00:34

      DANKE =) :thumbup: :thumbup:
      Ich suche schon seit 4 Monaten :D und dann kommst du ^^

    • [Erledigt] Suche diese Mod - Earpiece

      • stolzerrabe
      • 3. Juni 2016 um 00:00

      oO Noch nie gesehen

    • Fahrzeug MIT OBJEKTEN spawnen - "attachto"

      • stolzerrabe
      • 2. Juni 2016 um 20:48

      Genauer wäre es so besser

      life_server\Functions\Systems\fn_spawnVehicle.sqf

      Code
      if(EQUAL(SEL(_vInfo,1),"med") && EQUAL(SEL(_vInfo,2),"FAHRZEUGKLASSE")) then {
      [_vehicle,"FAHRZEUGKLASSE",true] remoteExecCall ["life_fnc_vehicleAnimate",_unit];
      };

      Und in der core\config\fn_vehicleAnimate.sqf
      Dort in der switch (_animate) do  eine neue Case:


      Code
      case "FAHRZEUGKALSSE":
      		{
      			_licht	= "Land_runway_edgelight_blue_F" createVehicle position _vehicle;
      			_licht attachTo [_vehicle, [0.6, 0, 0] ];
      		};
    • Fahrzeug MIT OBJEKTEN spawnen - "attachto"

      • stolzerrabe
      • 2. Juni 2016 um 20:41

      Original:

      Code
      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];
      };

      Es wird für das Fahrzeug _vehicle genutzt!

      Du nutzt _veh
      So sollte es sein:

      _licht = "Land_runway_edgelight_blue_F" createVehicle position _vehicle;
      _licht attachTo [_vehicle, [0.6, 0, 0] ];

    • [Erledigt] Suche diese Mod - Earpiece

      • stolzerrabe
      • 2. Juni 2016 um 18:13

      TFR nutze ich ja auch.
      Nur mag ich diese RIESEN Rucksäcke nicht.
      Habe schon normale und unsichtbare Rucksäcke als LongRange Rucksack eingebaut.
      Jedoch würde ich mich freuen, wenn jemand mir damit helfen kann.
      Das sieht einfach besser aus, als diese Rucksäcke.

      Wenn ich modden könnte, würde ich mir das selber bauen -.-

    • [Erledigt] Suche diese Mod - Earpiece

      • stolzerrabe
      • 2. Juni 2016 um 18:06

      Weiss jemand von euch, oder hat jemand von euch diese Mod / pbo file?
      Ich weiss nur, das dieses Teil im Nightvision Slot ist.
      TYRK / ESSGoogles hat es nicht drin!

      Bilder

      • headset.JPG
        • 18,39 kB
        • 358 × 256
        • 541
    • Task Force Radio installation

      • stolzerrabe
      • 2. Juni 2016 um 02:43

      Nein.
      Wenn du auf deinem Server TFR installierst, ist in dem TFR-Odner eine task_force_radio_pipe.dll.
      Diese kommuniziert mit der task_force_radio_win32.dll oder der task_force_radio_win64.dll, je nachdem, welche du im Teamspeak Ordner unter Plugins abgelegt hast.
      (Sofern das Plugin auch aktiviert ist)


      Joinst du nun auf dem Server, auf dem TFR läuft, und bist NICHT auf dem Ts, bekommst du keine Meldung, dass du auf den TS-Server YXZ musst.
      Es erscheint lediglich ein hinweis "PIPE ERROR 9" (rechts unten am Bildschirm)


      Connectest du nun auf einen TS3 Server, der den Channel taskforceradio (standard) eingestellt hast, wirst du darin verschoben, und im Spiel wird es aktiviert.
      Hat der Gameserver XXC nun TFR so konfiguriert, dass er nicht den Channel taskforceradio, sondern zB TFRXXC nuzt, und du gehst auf einen fremden TS, wo dieser Channel fehlt,
      passiert nichts.


      Anders rum:
      Bist du im TS mit aktiviertem TFR Plugin und connectest auf einen Server ohne TFR Unterstützung passiert nichts.

    • Dialoge - Items/Lizenzen werden nur einmal angezeigt

      • stolzerrabe
      • 1. Juni 2016 um 23:50
      Zitat von SBuserhy

      Ich würde es mal mit waitUntil probieren wie beim Spawnmenü (initMedic.sqf)

      waitUntil{isNull (findDisplay 60001)};
      call deine Datei


      #nur ne Idee

      I´ll give a try ;)

    • fn_asynccall Fehler

      • stolzerrabe
      • 1. Juni 2016 um 21:38

      Mein Auszug aus der Konversation:


      Er hat die houses Tabbelle so erstellt
      (hat er mir gesendet)

      Code
      CREATE TABLE IF NOT EXISTS `houses` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `pid` varchar(32) NOT NULL,
      `pos` varchar(64) DEFAULT NULL,
      `owned` tinyint(4) DEFAULT '0',
      PRIMARY KEY (`id`,`pid`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

      Abgefragt werden:


      SELECT pid, pos,inventory, containers FROM houses WHERE pid='%1' AND owned='1'

      Er benutzt nach Version hier im Thread die 3.1.4.8

      Die lautet aber so:

      Code
      CREATE TABLE IF NOT EXISTS `houses` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `pid` varchar(32) NOT NULL,
      `pos` varchar(64) DEFAULT NULL,
      `inventory` text,
      `containers` text,
      `owned` tinyint(4) DEFAULT '0',
      PRIMARY KEY (`id`,`pid`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
    • Dialoge - Items/Lizenzen werden nur einmal angezeigt

      • stolzerrabe
      • 30. Mai 2016 um 23:40

      Hey Leute,

      ich bin seit ein paar Tagen dran, ein komplett anderes ZInventar zu machen, wobei zB die Items und Lizenzen auf einem eigenem Button liegen.
      Sprich ich öffne das Invetar -> Klicke auf Items -> Dort werden sie gelistet.
      Sprich ich öffne das Invetar -> Klicke auf Lizenzen -> Dort werden sie gelistet.

      Funktioniert auch!

      Mein Problem:
      Klicke ich nun auf ein anden Punkt. ZB Bank, und gehe zurück zu Lizenzen, werden diese nicht gelistet, alles andere (Gewicht, Konto, Cash) jedoch schon!.
      Schließe ich das Menü komplett, und öffne es mit Z wieder, funktioniert es wieder.
      DAS SELBE SPIEL IST MIT ITEMS!


      Der Aufruf der Dialoge funktioniert so, wie es standardmäßig mit der life_fn_p_openMenu / life_fn_p_updateMenu ist.

      RPT Logs gibt es leider keine.
      Diese ist sauber.

      Ein Check, ob das Richtige Display angezeigt wird, war erfolgreich. :/
      Es ist sehr kurios, dass alles andere angezeigt wird, nur die foreach schleife wird einmalig nur angezeigt...


      Beispielecodes:
      LIZENZEN Update:

      Code
      _side = switch(playerSide) do {case west:{"cop"}; case civilian:{"civ"}; case independent:{"med"};};
      _dialog	= findDisplay 60001;
      _lic = _dialog displayCtrl 60061;
      _struct = "";
      ctrlSetText[60011,format["Gewicht: %1 | %2",life_carryWeight,life_maxWeight]];
      ctrlSetText[60041,format["Bargeld: %1",[life_cash] call life_fnc_numberText]];
      ctrlSetText[60051,format["Konto: %1",[life_atmcash] call life_fnc_numberText]];
      {
      	if((_x select 1) == _side) then
      	{
      		_str = [_x select 0] call life_fnc_varToStr;
      		_val = missionNamespace getVariable (_x select 0);
      		if(_val) then
      		{
      			_struct = _struct + format["%1<br/>",_str];
      		};
      	};
      } foreach life_licenses;
      if(_struct == "") then{	_struct = "Keine"; };
      _lic ctrlSetStructuredText parseText format["<t size='1px'>%1</t>",_struct];
      Alles anzeigen


      So wird jedes Dialog aufgerufen:

      Code
      if(!alive player) exitWith {closedialog 0;};
      if(dialog) then {closedialog 0;};
      createDialog "playerSettings_items";
      disableSerialization;
      [] call life_fnc_razr_updateMenu_lizenzen;


      Es ist auch unerheblich, ob ich mit

      onButtonClick = "closedialog 0; createdialog ""playerSettings_lizenzen""; [] call life_fnc_razr_updateMenu_lizenzen;";
      das Dialogfeld sofort erstelle, oder ob ich es über die openMenu datei mache:
      onButtonClick = "[] call life_fnc_razr_openMenu_lizenzen";

      Das Verhalten ist bei beiden verfahren identisch!
      Es fehlt jedesmal die foreach schleife...


      Für ein besseres Verständnis, habe ich mal das Problem Skizziert.

    • Altis Life 3.1.4.8 oder 4.4

      • stolzerrabe
      • 30. Mai 2016 um 22:24

      Ich selber arbeite noch mit der 3.1.4.8,
      werde wohl aber bald umsteigen.

      Als Einsteiger würde ich die 4.4 Empfehlen, da du dann gleich die neue Struktur lernst.
      Nimmst du erst die 3.1.4.8, und entscheidest dich um, musst du umlernen. - Was sicher nicht schwierig ist, aber ein Mehraufwand. -

    • [FIX] No entry 'mpmissions\__CUR_MP.Altis\description.ext/life_spawn_selection/controlsBackground/MapView.LineMarker'.

      • stolzerrabe
      • 30. Mai 2016 um 22:05
      Zitat von nox

      Wollt mich grad ransetzen, da warst du wohl schneller. Danke dir! :)

      Dito ;)

    • Modpack im Steamworkshop hochladen???

      • stolzerrabe
      • 30. Mai 2016 um 18:13

      Steam -> Arma 3 Tools -> Publisher

    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™