Einzelnen Beitrag anzeigen
Alt 25.06.2008, 13:31   #2 (permalink)
Buliwyf
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Hm.. ich habe mal aus XENO`s Domination Maps die Servicepunkte etwas verfeinert..

In diesem Beispiel ein reiner Servicepunkt für Kettenfahrzeuge:

1. Du brauchst einen Auslöser, der wie folgt aussieht:
Code:
		class Item1
		{
			position[]={9668.559570,139.994995,9804.745117};
			a=15.000000;
			b=6.000000;
			rectangular=1;
			activationBy="ANY";
			repeating=1;
			age="UNKNOWN";
			expCond="(""TANK"" countType thislist > 0) && ((getpos (thislist select 0)) select 2 < 2 && speed (thislist select 0) < 2)";
			expActiv="nil = [(thislist select 0)] execVM ""vcl_service.sqf"";";
			class Effects
			{
			};
		};
2. Brauchst Du die vcl_service.sqf-Funktion:
Code:
private ["_vcl","_type","_dmg","_fuel","_vclClass","_vclName","_dspName","_class","_mags","_i"];

_vcl = _this select 0;
_type = typeOf _vcl;
_dmg = getDammage _vcl;
_fuel = fuel _vcl;

_vcl engineOn false;

if (true) then {
	_vcl vehicleChat format["Servicing %1... ready in a few seconds.", getText (configFile >> "cfgVehicles" >> _type >> "displayName")];

	_class = _vclClass >> "Turrets" >> "MainTurret" >> "magazines";
	if (isArray _class) then {
		_mags = getArray _class;
		{_vcl removeMagazines _x} forEach _mags;
		sleep 1;
		{_vcl addMagazine _x; sleep 1;} forEach _mags;
	} else {
		_class = _vclClass >> "magazines";
		_mags = getArray _class;
		{_vcl removeMagazines _x} forEach _mags;
		sleep 1;
		{_vcl addMagazine _x; sleep 1;} forEach _mags;
	};

	for [{_i=_dmg}, {_i > 0}, {_i=_i-0.01}] do {
		_vcl setDamage _i;
		sleep 0.25;
	}; 

	for [{_i=_fuel}, {_i < 1}, {_i=_i+0.01}] do {
		_vcl setFuel _i;
		sleep 0.25;
	}; 
	
	if (getDammage _vcl < 0) then {_vcl setDamage 0};
	if (fuel _vcl > 1) then {_vcl setFuel 1};

	_vcl vehicleChat format["%1 repaired, refueled and rearmed - have a good trip %2!",getText (configFile >> "cfgVehicles" >> _type >> "displayName"), name effectiveCommander _vcl];
};

if(true)exitWith{};
Damit wir das Fahrzeug aufmunitioniert, betankt, und repariert.

Wenn Du noch Radfahrzeuge, Helikopter und/oder Flugzeuge dort verarzten willst, dann brauchst Du nur die Bedingung ändern, indem Du dem ""TANK"" countType thislist > 0 noch ""CAR"" countType thislist > 0, ""HELICOPTER"" countType thislist > 0 und/oder ""PLANE"" countType thislist > 0 hinzufügst.

Für Infanterie würde ich dann was eigenes Scripten oder ein abgeschlossenes Sani-Fahrzeug oder ein Zelt hinstellen.

Buliwyf ist offline   Mit Zitat antworten