- Offizieller Beitrag
Hallo zusammen!
Um einem Scriptdieb der sich nun total freut dass er es geschafft hat ein paar Codezeilen (eigentlich unseren ganzen server.. -_-) zu kopieren ohne deren Funktion zu verstehen die Tour zu vermiesen, mache ich nun ein kurzes Tutorial dazu wie ihr Fahrzeug sowie Helikoptertüren beim Auf-/Zuschließen animieren könnt.
Folgende Fahrzeuge werden unterstützt:
- Strider
- Ifrit
- Hunter
- Mohawk
- Ghosthawk
Desweiteren wird beim Auf- und Zuschließen ein Schloss sowie ein Text in der oberen rechten Ecke eures Bildschirms angezeigt. Die Icons dazu findet ihr am Ende, einfach in den icons ordner packen :).
Bitte entschuldigt die Schleichwerbung im Code, unsere Scripts sind voll davon..
Öffnet euren KeyHandler (fn_keyHandler.sqf) und scrollt durch bis ihr bei case 22: (U Case) angekommen seid. Um nun fahrzeugtüren beim Auf-/Zuschließen zu animieren sollte euer case 22 so aussehen:
//U Key
case 22:
{
if(!_alt && !_ctrlKey) then {
if(vehicle player == player) then {
_veh = cursorTarget;
} else { //www.infinity-core.de
_veh = vehicle player;
};
if(_veh isKindOf "House_F" && playerSide == civilian) then {
if(_veh in life_vehicles && player distance _veh < 8) then {
_door = [_veh] call life_fnc_nearestDoor;
if(_door == 0) exitWith {hint "Du bist nicht in der Nähe einer Tür!"};
_locked = _veh getVariable [format["bis_disabled_Door_%1",_door],0];
if(_locked == 0) then {
_veh setVariable[format["bis_disabled_Door_%1",_door],1,true];
_veh animate [format["door_%1_rot",_door],0];
systemChat "You have locked that door.";
} else {
_veh setVariable[format["bis_disabled_Door_%1",_door],0,true];
_veh animate [format["door_%1_rot",_door],1];
systemChat "Du hast die Tür aufgeschlossen.";
};
};
} else {
_locked = locked _veh;
if(_veh in life_vehicles && player distance _veh < 8) then
{
if(_locked == 2) then
{
if(local _veh) then
{
_veh lock 0;
_veh animateDoor ["door_back_R",1];
_veh animateDoor ["door_back_L",1];
_veh animateDoor ['door_R',1];
_veh animateDoor ['door_L',1];
_veh animateDoor ['Door_rear',1];
_veh animateDoor ['Door_LM',1];
_veh animateDoor ['Door_RM',1];
_veh animateDoor ['Door_LF',1];
_veh animateDoor ['Door_RF',1];
_veh animateDoor ['Door_LB',1];
_veh animateDoor ['Door_RB',1];
}
else //www.infinity-core.de
{
[[_veh,0], "life_fnc_lockVehicle",_veh,false] spawn life_fnc_MP;
_veh animateDoor ["door_back_R",1];
_veh animateDoor ["door_back_L",1];
_veh animateDoor ['door_R',1];
_veh animateDoor ['door_L',1];
_veh animateDoor ['Door_rear',1];
_veh animateDoor ['Door_LM',1];
_veh animateDoor ['Door_RM',1];
_veh animateDoor ['Door_LF',1];
_veh animateDoor ['Door_RF',1];
_veh animateDoor ['Door_LB',1];
_veh animateDoor ['Door_RB',1];
};
hint composeText [ image "icons\unlock.paa", " Fahrzeug aufgeschlossen" ];
player say3D "unlock";
}
else //www.infinity-core.de
{
if(local _veh) then
{
_veh lock 2;
_veh animateDoor ["door_back_R",0];
_veh animateDoor ["door_back_L",0];
_veh animateDoor ['door_R',0];
_veh animateDoor ['door_L',0];
_veh animateDoor ['Door_rear',0];
_veh animateDoor ['Door_LM',0];
_veh animateDoor ['Door_RM',0];
_veh animateDoor ['Door_LF',0];
_veh animateDoor ['Door_RF',0];
_veh animateDoor ['Door_LB',0];
_veh animateDoor ['Door_RB',0];
}
else //www.infinity-core.de
{
[[_veh,2], "life_fnc_lockVehicle",_veh,false] spawn life_fnc_MP;
_veh animateDoor ["door_back_R",0];
_veh animateDoor ["door_back_L",0];
_veh animateDoor ['door_R',0];
_veh animateDoor ['door_L',0];
_veh animateDoor ['Door_rear',0];
_veh animateDoor ['Door_LM',0];
_veh animateDoor ['Door_RM',0];
_veh animateDoor ['Door_LF',0];
_veh animateDoor ['Door_RF',0];
_veh animateDoor ['Door_LB',0];
_veh animateDoor ['Door_RB',0];
};
hint composeText [ image "icons\lock.paa", " Fahrzeug abgeschlossen" ];
player say3D "car_lock";
};
};
};
};
};
Alles anzeigen
Saueinfach, oder?
Viel Spaß damit, und mögen alle 0815 Server und Scriptdiebe irgendwann aussterben..
Gruß,
Nox
P.S.
Achtet darauf die "player say3D" Sound zu entfernen, oder so anzupassen dass sie bei euch funktionieren
Icons im Anhang.