Miete dir jetzt deinen eigenen prepaid ArmA 3 Altis Life Server auf nitrado.net
In diesem Artikel wird erläutert, wie man eine “Surrender Animation” ,wie sie aus DayZ SA bekannt ist, auf einem Arma3 Server einfügt. Somit ist es möglich sich zu “ergeben”.
Hier findest du einen Download Link zu allen Dateien, die du für dieses Script benötigst: https://customer.static.nistored.de/surrender.zip
1. Die Datei Functions.h aus dem Verzeichnis /arma3/MPMissions/Altis_Life.Altis öffnen
class Actions {
class surrender {};
class Actions { file = "coreactions"; class buyLicense {}; class chemlightUse {}; class heal {}; class healHospital {}; class pushVehicle {}; class repairTruck {}; class serviceChopper {}; class serviceTruck {}; class catchFish {}; class catchTurtle {}; class dpFinish {}; class dropFishingNet {}; class gatherApples {}; class gatherCannabis {}; class gatherHeroin {}; class gatherOil {}; class getDPMission {}; class postBail {}; class processAction {}; class robBankAction {}; class sellOil {}; class suicideBomb {}; class arrestAction {}; class escortAction {}; class impoundAction {}; class pulloutAction {}; class putInCar {}; class stopEscorting {}; class restrainAction {}; class searchAction {}; class searchVehAction {}; class unrestrain {}; class pickupItem {}; class pickupMoney {}; class ticketAction {}; class gatherPeaches {}; class gatherCocaine {}; class pumpRepair {}; class packupSpikes {}; class robFederal {}; class storeVehicle {}; class robAction {}; class sellTurtle {}; class surrender {}; };
2. Die Datei fn_keyHandler.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/functions öffnen
//Restraining (Shift + R)
//surrender... shift + h case 35: { if(_shift) then {_handled = true;}; if (_shift) then { if (vehicle player == player && !(player getVariable ["restrained", false]) && (animationState player) != "Incapacitated" && !life_istazed) then { if (player getVariable ["surrender", false]) then { player setVariable ["surrender", false, true]; } else { [] spawn life_fnc_surrender; }; }; }; };
//Restraining (Shift + R) case 19: { if(_shift) then {_handled = true;}; if(_shift && playerSide == west && !isNull cursorTarget && cursorTarget isKindOf "Man" && (isPlayer cursorTarget) && (side cursorTarget in [civilian,independent]) && alive cursorTarget && cursorTarget distance player < 3.5 && !(cursorTarget getVariable "Escorting") && !(cursorTarget getVariable "restrained") && speed cursorTarget < 1) then { [] call life_fnc_restrainAction; }; }; //surrender... shift + h case 35: { if(_shift) then {_handled = true;}; if (_shift) then { if (vehicle player == player && !(player getVariable ["restrained", false]) && (animationState player) != "Incapacitated" && !life_istazed) then { if (player getVariable ["surrender", false]) then { player setVariable ["surrender", false, true]; } else { [] spawn life_fnc_surrender; }; }; }; };
Dies geht folgendermaßen: Das case 35 steht für die Taste “H” auf der Tastatur. Für die Taste “K” ist es z.B: case 37. Ganz unten in diesem Tutorial steht, welche Taste welcher “case” ist.
2. Die Datei fn_setupActions.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core öffnen
life_actions = life_actions + [player addAction["Rob Person",life_fnc_robAction,"",0,false,false,"",' !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && animationState cursorTarget == "Incapacitated" && !(cursorTarget getVariable["robbed",FALSE]) ']];
life_actions = life_actions + [player addAction["Rob Person",life_fnc_robAction,"",0,false,false,"",' !isNull cursorTarget && player distance cursorTarget < 3.5 && isPlayer cursorTarget && animationState cursorTarget in ["Incapacitated","amovpercmstpsnonwnondnon_amovpercmstpssurwnondnon"] && !(cursorTarget getVariable["robbed",FALSE]) ']];
3. Die Datei fn_restrain.sqf im Verzeichnis /arma3/MPMissions/Altis_Life.Altis/core/cop öffnen
titleText[format["You have been restrained by %1",name _cop],"PLAIN"];
if((player getVariable["surrender",FALSE])) then { player setVariable["surrender",FALSE,TRUE]; player switchMove ""; };
Wenn du diese Schritte befolgt hast, sollte nun das “Ergeben” auf dem Server möglich sein. Zum Abschluss noch die erwähnten cases:
ESC =1 F1 =59 F2 =60 F3 =61 F4 =62 F5 =63 F6 =64 F7 =65 F8 =66 F9 =67 F10 =68 F11 =87 F12 =88 PRINT =183 SCROLL =70 PAUSE =197^=411=22=33=44=55=66=77=88=99=100=11ß=12´=13Ü=26Ö=39Ä=40# = 43<=86,=51.=52-=53+= NOT DEFINED POS1 =199 TAB =15 ENTER =28 DELETE =211 BACKSPACE =14 INSERT =210END=207 PAGEUP =201 PAGEDOWN =209 CAPS =58 A =30 B =48 C =46 D =32 E =18 F =33 G =34 H =35 I =23 J =36 K =37 L =38 M =50 N =49 O =24 P =25 Q =16 U =22 R =19 S =31 T =20 V =47 W =17 X =45 Y =44 Z =21 SHIFTL =42 SHIFTR =54 UP =200 DOWN =208 LEFT =203 RIGHT =205 NUM_0 =82 NUM_1 =79 NUM_2 =80 NUM_3 =81 NUM_4 =75 NUM_5 =76 NUM_6 =77 NUM_7 =71 NUM_8 =72 NUM_9 =73 NUM_+=78 NUM =69 NUM_/=181 NUM_*=55 NUM_-=74 NUM_,=83 NUM_ENTER =156 STRGL =29 STRGR =157 WINL =220 WINR =219 ALT =56 SPACE =57 ALTGR =184 APP =221