JavaScript:
var camera_hand_player = null;
var camera_hand_player_active;
var last_camer_change = new Date().getTime();
global.at_fire_pushed = false;
global.TogglePlayerCameraSide = function () {
//if (!loggedin || chatActive /* || new Date().getTime() - lastCheck < 250*/) return;
if (!camera_hand_player_active) {
//if (GlobalCheck() == true && !at_small_timer_event && !at_famwar && !at_duel_location) return;
if (mp.game.invoke('0x8D4D46230B2C353A') == 4 || mp.game.invoke('0x2E397FD2ECD37C87', mp.players.local) == 0) return;
if (new Date().getTime() - last_camer_change < 200) return;
if (at_fire_pushed == true || playerincapture == true || localplayer.isAimingFromCover()) return;
last_camer_change = new Date().getTime();
if (camera_hand_player != null) {
camera_hand_player.setActive(false);
camera_hand_player.destroy();
camera_hand_player = null;
}
camera_hand_player = mp.cameras.new("DEFAULT_SCRIPTED_CAMERA", new mp.Vector3(0, 0, 0), new mp.Vector3(0.0, 0, 0.0), 0);
camera_hand_player.setActive(true);
mp.game.cam.renderScriptCams(true, true, 100, false, false);
if (camera_hand_player == null) return DisableWeaponCamera();
camera_hand_player_active = 1;
SetCameraLook();
} else {
if (camera_hand_player_active != 1) return;
//camera_hand_player.setAffectsAiming(true);
DisableWeaponCamera();
}
};
var gameplay_cam = null;
function SetCameraLook() {
if (gameplay_cam) {
gameplay_cam.destroy();
gameplay_cam = undefined;
}
gameplay_cam = mp.cameras.new("gameplay");
var cameraCoords = gameplay_cam.getCoord();
var cameraRotation = gameplay_cam.getRot(2);
var gameplayCamFov = mp.game.invoke('0x65019750A0324133');
var coordsRelativeToPlayer = mp.players.local.getOffsetFromGivenWorldCoords(cameraCoords.x, cameraCoords.y, cameraCoords.z);
//let xOffset = (coordsRelativeToPlayer.x * 2) * 0.75;
var leftShoulderCoords = mp.players.local.getOffsetFromInWorldCoords(coordsRelativeToPlayer.x, coordsRelativeToPlayer.y, coordsRelativeToPlayer.z);
camera_hand_player.setCoord(leftShoulderCoords.x, leftShoulderCoords.y, leftShoulderCoords.z);
camera_hand_player.setRot(cameraRotation.x, cameraRotation.y, cameraRotation.z, 0);
camera_hand_player.attachTo(mp.players.local.handle, coordsRelativeToPlayer.x - 0.75, coordsRelativeToPlayer.y, coordsRelativeToPlayer.z, true);
camera_hand_player.setFov(int32ToFloat(gameplayCamFov));
mp.game.ui.showHudComponentThisFrame(14);
}
global.int32ToFloat = function (number) {
var buffer = new ArrayBuffer(16);
var view = new DataView(buffer);
view.setInt32(1, number);
return view.getFloat32(1);
};
function DisableWeaponCamera() {
mp.game.cam.renderScriptCams(false, true, 100, false, false);
setTimeout(function () {
if (camera_hand_player != null && camera_hand_player_active != 1) {
camera_hand_player.setActive(false);
camera_hand_player.destroy();
camera_hand_player = null;
}
}, 200);
camera_hand_player_active = 0;
if (gameplay_cam) {
gameplay_cam.destroy();
gameplay_cam = undefined;
}
}
gm.events.add("render", () => {
if (!global.loggedin) return;
mp.game.controls.disableControlAction(0, 48, true); // map Z control
mp.game.controls.disableControlAction(2, 45, true); // reload control
//localplayer.setCanSwitchWeapon(false);
// weapon switch controls //
mp.game.controls.disableControlAction(1, 243, true); // CCPanelDisable
if (!camera_hand_player_active) return;
if (mp.game.invoke('0x8D4D46230B2C353A') == 4 || mp.game.invoke('0x2E397FD2ECD37C87', mp.players.local) == 0) {
TogglePlayerCameraSide();
return;
}
SetCameraLook();
});
У меня есть много похожих вызовов функций но это не работает.