Einzelnen Beitrag anzeigen
Alt 05.03.2013, 18:36   #4 (permalink)
Drunken Officer
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Ein Beispiel Ohne Auslöser
In meinem Beispiel löst die USBV nur bei "blau" aus!! Das müßtest du entfernen, wenn jeder das Teil auslösen kann.

Desweiteren habe ich ein addaction-Eintrag geschaffen der es ermöglicht, dass ding zu entschärfen.

Der Spieler hat die Möglichkeit, entweder entschärfen oder zerschiessen. Beim Beschuss explodiert sie aber.

Die Stärke ist okay. Spieler stirbt, Humvee hält es ab, Reifen sind platt und Hülle beschädigt.

Die Warnung wird pro USBV nur 1x ausgegeben!

//******** Scriptcode by Drunken Officer ******
//*************************************
in die inti von der USBV
handle = [this, 10, 5] execVM "... \*.sqf

// 10 ist der Radius in Meter wo der Spieler eine HINT Meldung bekomm
// 5 ist der Radius wo es boom macht

Code:
private ["_usbv","_boom","_alarm","_nachricht","_warnung"];
_usbv = _this select 0;
_alarm = _this select 1;
_boom = _this select 2;
_nachricht = localize "STR_usbv_sicht"; // ich arbeite mit einer STringtable für mehrsprachige Ausgabe
_warnung = 0;
// hier besteht die Möglichkeit das Ding zu entschärfen
IED_boom = _this select 0 addAction [format ["<t color='#000080'>%1</t>", localize "STR_action_IED"], "scripte\usbv_wegmachen.sqf"];

while {alive _usbv} do
{
_no = nearestObjects [_usbv,["man","car","tank","motorcycle"],_alarm]; //___ nur Autos, LKW
_no1 = _no select 0;
    if (!isNull _no1 && _warnung == 0 ) then {hint parsetext format ["<br /><t align='center' color='#FF1500' size='1.5'>%1</t><br />",_nachricht]; _warnung = 1;};
    if (!isNull _no1 && side _no1 == WEST && (_no1 distance _usbv <= _boom)) then 
    {
     _granate = createVehicle ["r_80mm_he",[getPos _usbv select 0, getPos _usbv select 1],[], 0, 'FLY'];
    deleteVehicle _usbv;
    _warnung = 0;
    };
     sleep 0.1;
    };
// *** IED_remove wird durch das entschärfen auf 1 gesetzt. 
if (!isNil"IED_remove") exitWith {};
_granate = createVehicle ["r_80mm_he",[getPos _usbv select 0, getPos _usbv select 1],[], 0, 'FLY'];
deleteVehicle _usbv;    
(_this select 0) removeAction IED_boom;    


//gün #00E500
//rot #FF1500
P.S.: Ist ne Holzhacker-Methode was das scripten angeht, so lange stehe ich dies bezüglich auch noch nicht auf eigenen Beinen. Es gibt sicherlich wesentlich bessere Varianten.

Geändert von Drunken Officer (05.03.2013 um 19:54 Uhr).
Drunken Officer ist offline