- 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.