Moin zusammen,
mit diesem Script könnt ihr die australische Bank (Land_CommenwealthBank) ausraubbar machen. Wenn die Bank gehackt ist, öffnet sich die Tresortüre und es spawnt Geld auf dem Tisch im Tresorraum. Zusätzlich wird eine Tränengasgranate gespawnt (normale Smoke, wenn ihr kein Teargasscript verwendet)
Ihr müsst ihr die Config des Bankgebäudes bearbeiten um die "Open Vault Door" Action wegzubekommen. Alternativ könnt ihr das auch weglassen, da das Geld eh erst spawnt wenn die Türe offen ist. Ist nur schöner und realistischer wenn die Tresortüre zu ist.
Damit die Safetüre auch wirklich immer zu ist beim Neustart, schreibt ihr folgendes in die Init der Bank
Ich habe in der Bank am Tresen unten einen Laptop platziert um die Bank zu hacken. Wie ihr das macht ist natürlich euch überlassen. Ihr könntet auch noch ein bestimmtes Item einbauen was man haben muss um die Bank hacken zu können. Bei mir wird das später eine Zugangskarte der Cops sein. Fügt in euren Laptop als Init ein:
Hier das eigentliche Script:
Spoiler anzeigen
/*
File: fn_robBank.sqf
Author: cmdFlow
Description:
Script to call on a laptop when nearby bank, to rob it
*/
private["_robber","_bank","_cops","_canRob","_startRob","_chance","_ui","_progress","_pgText","_cP","_Pos","_marker","_laptop"];
_robber = player;
_bank = nearestObject [player, "Land_CommonwealthBank"];
_canRob = _bank getVariable ["canRob",true];
_cops = (west countSide playableUnits);
_chance = random(100);
_startRob = false;
if(_cops < 4) exitWith { hint "Es müssen mindestens 4 Polizisten im Dienst sein um die Bank ausrauben zu koennen"};
if (!_canRob) exitWith { hint "Die Banke wurde bereits ausgeraubt und hat kein Geld mehr im Tresor"};
if (playerSide != civilian) exitWith { hint "Als Staatsbediensteter ne Bank ausrauben? Ne Ne Ne"};
if (player distance _bank > 8) exitWith { hint "Von dort hinten willst du den Tresor knacken?"};
if (vehicle player != player) exitWith { hint "Aus dem Fahrzeug? Ernsthaft? Steig aus Junge"};
if (_chance < 50) exitWith { hint "Der Versuch ist fehlgeschlagen"};
if !(alive player) exitWith {};
if (_startRob) exitWith {};
_startRob = true;
_bank setVariable ["canRob",false,false];
[2,format["ALARM! - Bank wird ausgeraubt: %1", _bank]] remoteExec ["life_fnc_broadcast",west];
[1,format["ALARM! - Bank wird ausgeraubt: %1", _bank]] remoteExec ["life_fnc_broadcast",west];
disableSerialization;
5 cutRsc ["life_progress","PLAIN"];
_ui = uiNameSpace getVariable "life_progress";
_progress = _ui displayCtrl 38201;
_pgText = _ui displayCtrl 38202;
_pgText ctrlSetText format["Tresorraum wird gehackt. Bleib in der Nähe (10m) (1%1)...","%"];
_progress progressSetPosition 0.01;
_cP = 0.0001;
if(_startRob) then {
while{true} do {
sleep 5;
_cP = _cP + 0.01;
_progress progressSetPosition _cP;
_pgText ctrlSetText format["Tresorraum wird gehackt. Bleib in der Nähe (10m) (%1%2)...",round(_cP * 100),"%"];
_Pos = position player;
_marker = createMarker ["Marker200", _Pos];
"Marker200" setMarkerColor "ColorRed";
"Marker200" setMarkerText "ACHTUNG: Bank wird ausgeraubt";
"Marker200" setMarkerType "mil_warning";
if(_cP >= 1) exitWith {};
if(player distance _bank > 11) exitWith { };
if!(alive player) exitWith {};
};
if!(alive player) exitWith { _startRob = _false; };
if(_robber distance _bank > 11) exitWith {
deleteMarker "Marker200";
hint "Du musst in der Nähe bleiben (Radius 10m)";
_startRob = false;
};
_bank animate ["Vault_Combination",1];
_bank animate ["Vault_RotateUp",1];
_bank animate ["Vault_RotateDown",1];
_bank animate ["Vault_RotateDown",1];
_bank animate ["Vault_TransitionUp",-0.1];
_bank animate ["Vault_TransitionDown",0.1];
_bank animate ["Vault_TransitionLeft",-0.1];
_bank animate ["Vault_TransitionRight",0.1];
_bank animate ["Vault_Door",1];
_moneyAmount = 150000;
_pos = _bank modelToWorld[1,-3,3];
_pos = [(_pos select 0),(_pos select 1),4];
_obj = "Land_Money_F" createVehicle _pos;
_obj setVariable ["item",["money",_moneyAmount],true];
_obj setPos _pos;
_pos = [(_pos select 0)+0.2,(_pos select 1),4];
_obj = "Land_Money_F" createVehicle _pos;
_obj setVariable ["item",["money",_moneyAmount],true];
_obj setPos _pos;
_pos = [(_pos select 0)+0.4,(_pos select 1),4];
_obj = "Land_Money_F" createVehicle _pos;
_obj setVariable ["item",["money",_moneyAmount],true];
_obj setPos _pos;
_smoke = "SmokeShellYellow" createVehicle [0,0,9999];
_smoke setPos _pos;
_smoke setVelocity [100,0,0];
_startRob = false;
life_use_atm = false;
sleep (30 + random(180));
deleteMarker "Marker200";
life_use_atm = true;
};
sleep 300;
_bank setVariable ["canRob",true,true];
_startRob = true;
Alles anzeigen
Das sollte es gewesen sein. Den Wert des Geldes könnt ihr euch ja selber anpassen
Gruß Flow