Hi Xeno,
ich habe ein Problem und zwar habe ich ein Script welches ich super gerne nutze seit Arma 2. Es ist ein Script das einen marker setzt was einem Fahrzeug folgt,
bei dem verlusst eines Fahrzeugs ein hint gibt und einen marker auf die map setzt mit einem Countdown der anzeigt wann das betroffene Fahrzeug respawnt.
Das problem ist das ich es nur auf fahrzeuge anwenden kann die ich nachträglich in das Game einfüge.
Ich setzte das Fahrzeug benenne es mit zB veh1 dann rufe ich das Script in einer datei auf zB vehicle_init.sqf:
PHP-Code:
nul = [veh1] execvm 'marker\veh.sqf';
veh = [veh1, 240, 300, 0, FALSE, FALSE,"nul = [veh1] execvm 'marker\veh.sqf'"] execVM "vehicle\vehicle.sqf";
das script was ich benutze ist dieses hier:
PHP-Code:
if !isdedicated then {
if (isnil "fnc_VehMrk_showHint") then {
fnc_VehMrk_showHint = {
hint parseText format["<t align='center' color='#ff1111' size='1.3'>Vehicle Lost!!!</t><br/><br/><t><img size='3' image='%2'/></t><br/><br/><t size='1.2'>%1</t>",
getText (configFile >> "cfgVehicles" >> typeOf _this >> "displayName"),
getText (configFile >> "cfgVehicles" >> typeOf _this >> "picture")
];
};
};
if (isnil "eh_VehMrk_showHint") then {
eh_VehMrk_showHint = "";
"eh_VehMrk_showHint" addpublicvariableeventhandler {
(_this select 1) call fnc_VehMrk_showHint;
};
};
};
if !isserver exitwith {};
private ["_veh","_typ","_col","_tmr","_pos","_txt","_str","_mrk","_dmg","_crw","_man","_wrc","_tim"];
_veh = _this select 0;
_typ = if (count _this > 1) then {_this select 1} else {"n_armor"};
_col = if (count _this > 2) then {_this select 2} else {"ColorBLUFOR"};
_tmr = if (count _this > 3) then {_this select 3} else {245};
_veh setvariable ["VehMrkWrecked",false];
_pos = getpos _veh;
_str = format ["VehicleMarker_%1%2%3",typeof _veh,(_pos select 0),(_pos select 1)];
_mrk = createmarker [_str,_pos];
_mrk setmarkeralpha 0;
_mrk setmarkershape "ICON";
_mrk setmarkertype _typ;
_mrk setmarkercolor _col;
while {sleep 2.345; true} do {
if (isnull _veh) exitwith {};
if (count crew _veh > 0) exitwith {};
if (damage _veh > 0.8) exitwith {};
};
while {sleep 0.567; !isnull _veh} do {
_mrk setmarkerpos (getpos _veh);
_dmg = damage _veh;
_crw = crew _veh;
if (count _crw > 0) then {
_man = _crw select (count _crw - 1);
_txt = "";
} else {
_txt = "";
};
if (_dmg <= 0.2) then { _mrk setmarkeralpha 1 };
if (_dmg > 0.2) then { _mrk setmarkeralpha 0.5 };
if (_dmg > 0.8) then {
_mrk setmarkercolor "ColorBlack";
_txt = format ["%1 (Wrecked)",_txt];
_wrc = _veh getvariable ["VehMrkWrecked",false];
if _wrc then {
_tim = _tmr - (time - (_veh getvariable "VehMrkWreckTime"));
private ["_h","_m","_s"];
_h = floor(_tim / 3600);
_m = floor((_tim/60)-(_h*60));
_s = floor(_tim mod 60);
_txt = format ["%1 %2:%3:%4",_txt,
if (_h < 10) then {format ["0%1",_h]} else {_h},
if (_m < 10) then {format ["0%1",_m]} else {_m},
if (_s < 10) then {format ["0%1",_s]} else {_s}
];
} else {
_veh setvariable ["VehMrkWrecked",true];
_veh setvariable ["VehMrkWreckTime",time];
eh_VehMrk_showHint = _veh;
publicvariable "eh_VehMrk_showHint";
if !isdedicated then {
_veh call fnc_VehMrk_showHint;
};
};
};
_mrk setmarkertext _txt;
};
deletemarker _mrk;
Was ich wissen möchte ist wie bekomme ich das Script auf die standart Domi Fahrzeuge zum laufen so das es auch nach dem respawn der Fahrzeuge noch funktioneirt?
Gruß
anjan