Finalize Surgery

This commit is contained in:
VegaZ
2021-05-03 19:10:14 +02:00
parent 36f2517844
commit 19f0810918
7 changed files with 243 additions and 146 deletions

View File

@@ -23,6 +23,11 @@ const creatorCoords = {
cameraLookAt: new mp.Vector3(402.8664, -996.4108, -98.5)
};
const surgeryCoords = {
camera: new mp.Vector3(265.6026, -1340.2378, 25.000),
cameraLookAt: new mp.Vector3(266.472, -1339.1357, 25.000)
};
const localPlayer = mp.players.local;
export default function charCreator(globalData: IGlobalData) {
@@ -218,7 +223,7 @@ export default function charCreator(globalData: IGlobalData) {
let genderItem = new UIMenuListItem("Geschlecht", "~r~Dies setzt deine Einstellungen zur\u00fcck.", new ItemsCollection(["M\u00e4nnlich", "Weiblich"]));
creatorMainMenu.AddItem(genderItem);
creatorMainMenu.AddItem(new UIMenuItem("Eltern", "Eltern des Charakters."));
creatorMainMenu.AddItem(new UIMenuItem("Gesichtsz\u00fcge", "Gesichtsz\u00fcge des Charakters."));
creatorMainMenu.AddItem(new UIMenuItem("Gesichtsmerkmale", "Gesichtsmerkmale des Charakters."));
creatorMainMenu.AddItem(new UIMenuItem("Aussehen", "Aussehen des Charakters."));
creatorMainMenu.AddItem(new UIMenuItem("Haar & Farben", "Haare & Farben deines Charakters."));
@@ -308,30 +313,29 @@ export default function charCreator(globalData: IGlobalData) {
chestHairColorItem.Index
];
for (let i = 0; i < creatorMenus.length; i++) creatorMenus[i].Visible = false;
mp.gui.chat.show(true);
mp.game.ui.displayRadar(true);
mp.game.ui.displayHud(true);
localPlayer.freezePosition(false);
localPlayer.setDefaultComponentVariation();
localPlayer.setComponentVariation(2, Data.hairList[currentGender][hairItem.Index].ID, 0, 2);
mp.game.cam.renderScriptCams(false, false, 0, true, false);
mp.events.callRemote("creatorSave", currentGender, JSON.stringify(parentData), JSON.stringify(featureData), JSON.stringify(appearanceData), JSON.stringify(hairAndColors));
globalData.InMenu = false;
globalData.InMenu = false;
leaveCreator();
break;
case 7:
mp.events.callRemote("creator_Leave");
globalData.InMenu = false;
globalData.InMenu = false;
if (isSurgery) mp.events.callRemote("surgeryLeave");
leaveCreator();
break;
}
});
creatorMainMenu.MenuClose.on(() => {
mp.events.callRemote("creator_Leave");
globalData.InMenu = false;
globalData.InMenu = false;
if (isSurgery) {
mp.events.callRemote("surgeryLeave");
leaveCreator();
} else {
creatorMainMenu.Open();
}
});
creatorMainMenu.Visible = false;
@@ -552,12 +556,21 @@ export default function charCreator(globalData: IGlobalData) {
creatorMenus.push(creatorHairMenu);
// CREATOR HAIR & COLORS END
var isSurgery = false;
// EVENTS
mp.events.add("toggleCreator", () => {
mp.events.add("toggleCreator", (charExists) => {
if (creatorCamera === undefined) {
creatorCamera = mp.cameras.new("creatorCamera", creatorCoords.camera, new mp.Vector3(0, 0, 0), 45);
creatorCamera.pointAtCoord(creatorCoords.cameraLookAt.x, creatorCoords.cameraLookAt.y, creatorCoords.cameraLookAt.z);
creatorCamera.setActive(true);
if (charExists) {
creatorCamera = mp.cameras.new("creatorCamera", surgeryCoords.camera, new mp.Vector3(0, 0, 0), 45);
creatorCamera.pointAtCoord(surgeryCoords.cameraLookAt.x, surgeryCoords.cameraLookAt.y, surgeryCoords.cameraLookAt.z);
creatorCamera.setActive(true);
isSurgery = true;
} else {
creatorCamera = mp.cameras.new("creatorCamera", creatorCoords.camera, new mp.Vector3(0, 0, 0), 45);
creatorCamera.pointAtCoord(creatorCoords.cameraLookAt.x, creatorCoords.cameraLookAt.y, creatorCoords.cameraLookAt.z);
creatorCamera.setActive(true);
}
globalData.InMenu = true;
globalData.InMenu = true;
@@ -569,14 +582,28 @@ export default function charCreator(globalData: IGlobalData) {
localPlayer.clearTasksImmediately();
localPlayer.freezePosition(true);
mp.game.cam.renderScriptCams(true, false, 0, true, false);
}
});
mp.events.add("sendToServer", (characterData) => {
mp.events.callRemote("creatorSave", characterData);
});
creatorMenus.forEach(menu => {
menu.Visible = false;
})
function leaveCreator() {
mp.gui.chat.show(true);
mp.game.ui.displayRadar(true);
mp.game.ui.displayHud(true);
localPlayer.freezePosition(false);
mp.game.cam.renderScriptCams(false, false, 0, true, false);
creatorCamera.destroy(true);
globalData.InMenu = false;
globalData.InMenu = false;
if (isSurgery) isSurgery = false;
}
}