inshallah kein fehler
This commit is contained in:
@@ -19,19 +19,16 @@ cancelItem.BackColor = new Color(213, 0, 0);
|
||||
cancelItem.HighlightedBackColor = new Color(229, 57, 53);
|
||||
|
||||
export default function elevatorList(globalData: IGlobalData) {
|
||||
|
||||
var elevatorMenu: NativeUI.Menu;
|
||||
|
||||
var stages;
|
||||
|
||||
var stage = "";
|
||||
|
||||
|
||||
//Weapon Menu
|
||||
|
||||
mp.events.add('showElevatorMenu', (stagesArr) => {
|
||||
if (!globalData.InMenu) {
|
||||
|
||||
globalData.InMenu = true;
|
||||
|
||||
stages = JSON.parse(stagesArr);
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
export default function RefuseCollector() {
|
||||
|
||||
var State = false;
|
||||
var Traegt = false;
|
||||
var HintenVoll = false;
|
||||
var MuellSack = null;
|
||||
|
||||
var BlipTonneHinten = null;
|
||||
var CheckpointTonneHinten = null;
|
||||
var ShapeTonneHinten = null;
|
||||
@@ -17,8 +16,6 @@
|
||||
var BlipTonne = [];
|
||||
var ShapeTonne = [];
|
||||
|
||||
|
||||
|
||||
mp.events.add('SERVER:MuellmannStatusTrue', () => {
|
||||
State = true;
|
||||
});
|
||||
@@ -28,14 +25,13 @@
|
||||
});
|
||||
|
||||
mp.events.add('SERVER:MuellmannBCSErstellen', (jsonPosArr, veh) => {
|
||||
|
||||
let posArr = JSON.parse(jsonPosArr);
|
||||
vehicle = veh;
|
||||
for (var i = 0; i < posArr.length; i++) {
|
||||
let pos = new mp.Vector3(posArr[i].x, posArr[i].y, posArr[i].z - 1)
|
||||
BlipTonne.push(mp.blips.new(1, pos, { name: 'Müllmann', color: 45, shortRange: false }));
|
||||
BlipTonne[i].setFlashes(true);
|
||||
ShapeTonne.push(mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z +0.5, 1.75));
|
||||
BlipTonne[i].setFlashTimer(2000);
|
||||
ShapeTonne.push(mp.colshapes.newSphere(posArr[i].x, posArr[i].y, posArr[i].z + 0.5, 1.75));
|
||||
}
|
||||
|
||||
BlipTonneBase = mp.blips.new(1, new mp.Vector3(-535.1912, -1713.742, 19.23861 - 1), { name: 'Müllmann', color: 5, shortRange: false });
|
||||
@@ -43,7 +39,6 @@
|
||||
ShapeTonneBase = mp.colshapes.newSphere(-535.1912, -1713.742, 19.23861 - 1, 10);
|
||||
});
|
||||
mp.events.add('SERVER:MuellmannBCSEntfernen', () => {
|
||||
|
||||
for (var i = 0; i < BlipTonne.length; i++) {
|
||||
if (BlipTonne[i] == null) continue;
|
||||
BlipTonne[i].destroy();
|
||||
@@ -79,10 +74,8 @@
|
||||
BlipTonne[i] = null;
|
||||
ShapeTonne[i].destroy();
|
||||
ShapeTonne[i] = null;
|
||||
MuellSack = mp.objects.new(3619689535, mp.players.local.position, { rotation: new mp.Vector3(0.0, 0.0, 0.0), alpha: 255, dimension: 0 });
|
||||
MuellSack.attachTo(mp.players.local.handle, mp.players.local.getBoneIndex(6286), 0.08, 0.0, -0.03, 270.0, 0.0, 25.0, true, true, false, false, 0, true);
|
||||
|
||||
interval = setInterval(function () { createMarker(); }, 250);
|
||||
interval = setInterval(function () { createMarker(); }, 2);
|
||||
}
|
||||
else {
|
||||
mp.gui.chat.push("Der Müllwagen ist bereits voll! Fahre zur Base und lade ab!");
|
||||
@@ -96,7 +89,6 @@
|
||||
}
|
||||
if (Shape == ShapeTonneHinten) {
|
||||
if (Traegt) {
|
||||
|
||||
Traegt = false;
|
||||
mp.events.callRemote('CLIENT:MuellmannAddSack');
|
||||
|
||||
@@ -108,10 +100,7 @@
|
||||
CheckpointTonneHinten = null;
|
||||
if (ShapeTonneHinten) ShapeTonneHinten.destroy();
|
||||
ShapeTonneHinten = null;
|
||||
MuellSack.destroy();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else if (Shape == ShapeTonneBase) {
|
||||
BlipTonneBase.setRoute(false);
|
||||
@@ -134,11 +123,31 @@
|
||||
HintenVoll = true;
|
||||
});
|
||||
|
||||
|
||||
function createMarker() {
|
||||
if (vehicle != null) {
|
||||
var boneIndex = vehicle.getBoneIndexByName("platelight");
|
||||
let pos = vehicle.getWorldPositionOfBone(boneIndex);
|
||||
var boneIndex2 = vehicle.getBoneIndexByName("platelight");
|
||||
var boneIndex1 = vehicle.getBoneIndexByName("chassis_dummy");
|
||||
|
||||
let posPlate = vehicle.getWorldPositionOfBone(boneIndex2);
|
||||
let posCentre = vehicle.getWorldPositionOfBone(boneIndex1);
|
||||
|
||||
let plateVec = new mp.Vector3(posPlate.x, posPlate.y, posPlate.z);
|
||||
let lightVec = new mp.Vector3(posCentre.x, posCentre.y, posCentre.z);
|
||||
|
||||
let posPL = lightVec.subtract(plateVec);
|
||||
|
||||
let temp = new mp.Vector3(posPL.x * -1, posPL.y * -1, posPL.z * -1)
|
||||
|
||||
let length = Math.sqrt((temp.x * temp.x) + (temp.y * temp.y) + (temp.z * temp.z));
|
||||
|
||||
let x = temp.x / length;
|
||||
let y = temp.y / length;
|
||||
let z = temp.z / length;
|
||||
|
||||
temp = new mp.Vector3(x, y, z - 1);
|
||||
|
||||
let pos = plateVec.add(temp);
|
||||
|
||||
if (BlipTonneHinten) BlipTonneHinten.destroy();
|
||||
BlipTonneHinten = null;
|
||||
if (CheckpointTonneHinten) CheckpointTonneHinten.destroy();
|
||||
@@ -147,10 +156,7 @@
|
||||
ShapeTonneHinten = null;
|
||||
BlipTonneHinten = mp.blips.new(318, pos, { name: 'Müllmann', color: 24, shortRange: false });
|
||||
CheckpointTonneHinten = mp.markers.new(1, pos, 1, { direction: new mp.Vector3(-235.5747, -1685.475, 32.7207), color: [0, 255, 0, 255], visible: true, dimension: 0 });
|
||||
ShapeTonneHinten = mp.colshapes.newSphere(pos.x, pos.y, pos.z - 1, 2);
|
||||
|
||||
|
||||
ShapeTonneHinten = mp.colshapes.newSphere(pos.x, pos.y, pos.z, 2);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
768
ReallifeGamemode.Client/Ped/PedCreator.ts
Normal file
768
ReallifeGamemode.Client/Ped/PedCreator.ts
Normal file
@@ -0,0 +1,768 @@
|
||||
export default function PedCreator() {
|
||||
// Update 04/03/2020, Ped count [739]
|
||||
var PedHashes = {
|
||||
a_c_boar: 0xCE5FF074,
|
||||
a_c_cat_01: 0x573201B8,
|
||||
a_c_chickenhawk: 0xAAB71F62,
|
||||
a_c_chimp: 0xA8683715,
|
||||
a_c_chop: 0x14EC17EA,
|
||||
a_c_cormorant: 0x56E29962,
|
||||
a_c_cow: 0xFCFA9E1E,
|
||||
a_c_coyote: 0x644AC75E,
|
||||
a_c_crow: 0x18012A9F,
|
||||
a_c_deer: 0xD86B5A95,
|
||||
a_c_dolphin: 0x8BBAB455,
|
||||
a_c_fish: 0x2FD800B7,
|
||||
a_c_hen: 0x6AF51FAF,
|
||||
a_c_humpback: 0x471BE4B2,
|
||||
a_c_husky: 0x4E8F95A2,
|
||||
a_c_killerwhale: 0x8D8AC8B9,
|
||||
a_c_mtlion: 0x1250D7BA,
|
||||
a_c_pig: 0xB11BAB56,
|
||||
a_c_pigeon: 0x06A20728,
|
||||
a_c_poodle: 0x431D501C,
|
||||
a_c_pug: 0x6D362854,
|
||||
a_c_rabbit_01: 0xDFB55C81,
|
||||
a_c_rat: 0xC3B52966,
|
||||
a_c_retriever: 0x349F33E1,
|
||||
a_c_rhesus: 0xC2D06F53,
|
||||
a_c_rottweiler: 0x9563221D,
|
||||
a_c_seagull: 0xD3939DFD,
|
||||
a_c_sharkhammer: 0x3C831724,
|
||||
a_c_sharktiger: 0x06C3F072,
|
||||
a_c_shepherd: 0x431FC24C,
|
||||
a_c_stingray: 0xA148614D,
|
||||
a_c_westy: 0xAD7844BB,
|
||||
a_f_m_beach_01: 0x303638A7,
|
||||
a_f_m_bevhills_01: 0xBE086EFD,
|
||||
a_f_m_bevhills_02: 0xA039335F,
|
||||
a_f_m_bodybuild_01: 0x3BD99114,
|
||||
a_f_m_business_02: 0x1FC37DBC,
|
||||
a_f_m_downtown_01: 0x654AD86E,
|
||||
a_f_m_eastsa_01: 0x9D3DCB7A,
|
||||
a_f_m_eastsa_02: 0x63C8D891,
|
||||
a_f_m_fatbla_01: 0xFAB48BCB,
|
||||
a_f_m_fatcult_01: 0xB5CF80E4,
|
||||
a_f_m_fatwhite_01: 0x38BAD33B,
|
||||
a_f_m_ktown_01: 0x52C824DE,
|
||||
a_f_m_ktown_02: 0x41018151,
|
||||
a_f_m_prolhost_01: 0x169BD1E1,
|
||||
a_f_m_salton_01: 0xDE0E0969,
|
||||
a_f_m_skidrow_01: 0xB097523B,
|
||||
a_f_m_soucent_01: 0x745855A1,
|
||||
a_f_m_soucent_02: 0xF322D338,
|
||||
a_f_m_soucentmc_01: 0xCDE955D2,
|
||||
a_f_m_tourist_01: 0x505603B9,
|
||||
a_f_m_tramp_01: 0x48F96F5B,
|
||||
a_f_m_trampbeac_01: 0x8CA0C266,
|
||||
a_f_o_genstreet_01: 0x61C81C85,
|
||||
a_f_o_indian_01: 0xBAD7BB80,
|
||||
a_f_o_ktown_01: 0x47CF5E96,
|
||||
a_f_o_salton_01: 0xCCFF7D8A,
|
||||
a_f_o_soucent_01: 0x3DFA1830,
|
||||
a_f_o_soucent_02: 0xA56DE716,
|
||||
a_f_y_beach_01: 0xC79F6928,
|
||||
a_f_y_bevhills_01: 0x445AC854,
|
||||
a_f_y_bevhills_02: 0x5C2CF7F8,
|
||||
a_f_y_bevhills_03: 0x20C8012F,
|
||||
a_f_y_bevhills_04: 0x36DF2D5D,
|
||||
a_f_y_business_01: 0x2799EFD8,
|
||||
a_f_y_business_02: 0x31430342,
|
||||
a_f_y_business_03: 0xAE86FDB4,
|
||||
a_f_y_business_04: 0xB7C61032,
|
||||
a_f_y_eastsa_01: 0xF5B0079D,
|
||||
a_f_y_eastsa_02: 0x0438A4AE,
|
||||
a_f_y_eastsa_03: 0x51C03FA4,
|
||||
a_f_y_epsilon_01: 0x689C2A80,
|
||||
a_f_y_femaleagent: 0x50610C43,
|
||||
a_f_y_fitness_01: 0x457C64FB,
|
||||
a_f_y_fitness_02: 0x13C4818C,
|
||||
a_f_y_genhot_01: 0x2F4AEC3E,
|
||||
a_f_y_golfer_01: 0x7DD8FB58,
|
||||
a_f_y_hiker_01: 0x30830813,
|
||||
a_f_y_hippie_01: 0x1475B827,
|
||||
a_f_y_hipster_01: 0x8247D331,
|
||||
a_f_y_hipster_02: 0x97F5FE8D,
|
||||
a_f_y_hipster_03: 0xA5BA9A16,
|
||||
a_f_y_hipster_04: 0x199881DC,
|
||||
a_f_y_indian_01: 0x092D9CC1,
|
||||
a_f_y_juggalo_01: 0xDB134533,
|
||||
a_f_y_runner_01: 0xC7496729,
|
||||
a_f_y_rurmeth_01: 0x3F789426,
|
||||
a_f_y_scdressy_01: 0xDB5EC400,
|
||||
a_f_y_skater_01: 0x695FE666,
|
||||
a_f_y_soucent_01: 0x2C641D7A,
|
||||
a_f_y_soucent_02: 0x5A8EF9CF,
|
||||
a_f_y_soucent_03: 0x87B25415,
|
||||
a_f_y_tennis_01: 0x550C79C6,
|
||||
a_f_y_topless_01: 0x9CF26183,
|
||||
a_f_y_tourist_01: 0x563B8570,
|
||||
a_f_y_tourist_02: 0x9123FB40,
|
||||
a_f_y_vinewood_01: 0x19F41F65,
|
||||
a_f_y_vinewood_02: 0xDAB6A0EB,
|
||||
a_f_y_vinewood_03: 0x379DDAB8,
|
||||
a_f_y_vinewood_04: 0xFAE46146,
|
||||
a_f_y_yoga_01: 0xC41B062E,
|
||||
a_m_m_acult_01: 0x5442C66B,
|
||||
a_m_m_afriamer_01: 0xD172497E,
|
||||
a_m_m_beach_01: 0x403DB4FD,
|
||||
a_m_m_beach_02: 0x787FA588,
|
||||
a_m_m_bevhills_01: 0x54DBEE1F,
|
||||
a_m_m_bevhills_02: 0x3FB5C3D3,
|
||||
a_m_m_business_01: 0x7E6A64B7,
|
||||
a_m_m_eastsa_01: 0xF9A6F53F,
|
||||
a_m_m_eastsa_02: 0x07DD91AC,
|
||||
a_m_m_farmer_01: 0x94562DD7,
|
||||
a_m_m_fatlatin_01: 0x61D201B3,
|
||||
a_m_m_genfat_01: 0x06DD569F,
|
||||
a_m_m_genfat_02: 0x13AEF042,
|
||||
a_m_m_golfer_01: 0xA9EB0E42,
|
||||
a_m_m_hasjew_01: 0x6BD9B68C,
|
||||
a_m_m_hillbilly_01: 0x6C9B2849,
|
||||
a_m_m_hillbilly_02: 0x7B0E452F,
|
||||
a_m_m_indian_01: 0xDDCAAA2C,
|
||||
a_m_m_ktown_01: 0xD15D7E71,
|
||||
a_m_m_malibu_01: 0x2FDE6EB7,
|
||||
a_m_m_mexcntry_01: 0xDD817EAD,
|
||||
a_m_m_mexlabor_01: 0xB25D16B2,
|
||||
a_m_m_og_boss_01: 0x681BD012,
|
||||
a_m_m_paparazzi_01: 0xECCA8C15,
|
||||
a_m_m_polynesian_01: 0xA9D9B69E,
|
||||
a_m_m_prolhost_01: 0x9712C38F,
|
||||
a_m_m_rurmeth_01: 0x3BAD4184,
|
||||
a_m_m_salton_01: 0x4F2E038A,
|
||||
a_m_m_salton_02: 0x60F4A717,
|
||||
a_m_m_salton_03: 0xB28C4A45,
|
||||
a_m_m_salton_04: 0x964511B7,
|
||||
a_m_m_skater_01: 0xD9D7588C,
|
||||
a_m_m_skidrow_01: 0x01EEA6BD,
|
||||
a_m_m_socenlat_01: 0x0B8D69E3,
|
||||
a_m_m_soucent_01: 0x6857C9B7,
|
||||
a_m_m_soucent_02: 0x9F6D37E1,
|
||||
a_m_m_soucent_03: 0x8BD990BA,
|
||||
a_m_m_soucent_04: 0xC2FBFEFE,
|
||||
a_m_m_stlat_02: 0xC2A87702,
|
||||
a_m_m_tennis_01: 0x546A5344,
|
||||
a_m_m_tourist_01: 0xC89F0184,
|
||||
a_m_m_tramp_01: 0x1EC93FD0,
|
||||
a_m_m_trampbeac_01: 0x53B57EB0,
|
||||
a_m_m_tranvest_01: 0xE0E69974,
|
||||
a_m_m_tranvest_02: 0xF70EC5C4,
|
||||
a_m_o_acult_01: 0x55446010,
|
||||
a_m_o_acult_02: 0x4BA14CCA,
|
||||
a_m_o_beach_01: 0x8427D398,
|
||||
a_m_o_genstreet_01: 0xAD54E7A8,
|
||||
a_m_o_ktown_01: 0x1536D95A,
|
||||
a_m_o_salton_01: 0x20208E4D,
|
||||
a_m_o_soucent_01: 0x2AD8921B,
|
||||
a_m_o_soucent_02: 0x4086BD77,
|
||||
a_m_o_soucent_03: 0x0E32D8D0,
|
||||
a_m_o_tramp_01: 0x174D4245,
|
||||
a_m_y_acult_01: 0xB564882B,
|
||||
a_m_y_acult_02: 0x80E59F2E,
|
||||
a_m_y_beach_01: 0xD1FEB884,
|
||||
a_m_y_beach_02: 0x23C7DC11,
|
||||
a_m_y_beach_03: 0xE7A963D9,
|
||||
a_m_y_beachvesp_01: 0x7E0961B8,
|
||||
a_m_y_beachvesp_02: 0xCA56FA52,
|
||||
a_m_y_bevhills_01: 0x76284640,
|
||||
a_m_y_bevhills_02: 0x668BA707,
|
||||
a_m_y_breakdance_01: 0x379F9596,
|
||||
a_m_y_busicas_01: 0x9AD32FE9,
|
||||
a_m_y_business_01: 0xC99F21C4,
|
||||
a_m_y_business_02: 0xB3B3F5E6,
|
||||
a_m_y_business_03: 0xA1435105,
|
||||
a_m_y_cyclist_01: 0xFDC653C7,
|
||||
a_m_y_dhill_01: 0xFF3E88AB,
|
||||
a_m_y_downtown_01: 0x2DADF4AA,
|
||||
a_m_y_eastsa_01: 0xA4471173,
|
||||
a_m_y_eastsa_02: 0x168775F6,
|
||||
a_m_y_epsilon_01: 0x77D41A3E,
|
||||
a_m_y_epsilon_02: 0xAA82FF9B,
|
||||
a_m_y_gay_01: 0xD1CCE036,
|
||||
a_m_y_gay_02: 0xA5720781,
|
||||
a_m_y_genstreet_01: 0x9877EF71,
|
||||
a_m_y_genstreet_02: 0x3521A8D2,
|
||||
a_m_y_golfer_01: 0xD71FE131,
|
||||
a_m_y_hasjew_01: 0xE16D8F01,
|
||||
a_m_y_hiker_01: 0x50F73C0C,
|
||||
a_m_y_hippy_01: 0x7D03E617,
|
||||
a_m_y_hipster_01: 0x2307A353,
|
||||
a_m_y_hipster_02: 0x14D506EE,
|
||||
a_m_y_hipster_03: 0x4E4179C6,
|
||||
a_m_y_indian_01: 0x2A22FBCE,
|
||||
a_m_y_jetski_01: 0x2DB7EEF3,
|
||||
a_m_y_juggalo_01: 0x91CA3E2C,
|
||||
a_m_y_ktown_01: 0x1AF6542C,
|
||||
a_m_y_ktown_02: 0x297FF13F,
|
||||
a_m_y_latino_01: 0x132C1A8E,
|
||||
a_m_y_methhead_01: 0x696BE0A9,
|
||||
a_m_y_mexthug_01: 0x3053E555,
|
||||
a_m_y_motox_01: 0x64FDEA7D,
|
||||
a_m_y_motox_02: 0x77AC8FDA,
|
||||
a_m_y_musclbeac_01: 0x4B652906,
|
||||
a_m_y_musclbeac_02: 0xC923247C,
|
||||
a_m_y_polynesian_01: 0x8384FC9F,
|
||||
a_m_y_roadcyc_01: 0xF561A4C6,
|
||||
a_m_y_runner_01: 0x25305EEE,
|
||||
a_m_y_runner_02: 0x843D9D0F,
|
||||
a_m_y_salton_01: 0xD7606C30,
|
||||
a_m_y_skater_01: 0xC1C46677,
|
||||
a_m_y_skater_02: 0xAFFAC2E4,
|
||||
a_m_y_soucent_01: 0xE716BDCB,
|
||||
a_m_y_soucent_02: 0xACA3C8CA,
|
||||
a_m_y_soucent_03: 0xC3F0F764,
|
||||
a_m_y_soucent_04: 0x8A3703F1,
|
||||
a_m_y_stbla_01: 0xCF92ADE9,
|
||||
a_m_y_stbla_02: 0x98C7404F,
|
||||
a_m_y_stlat_01: 0x8674D5FC,
|
||||
a_m_y_stwhi_01: 0x2418C430,
|
||||
a_m_y_stwhi_02: 0x36C6E98C,
|
||||
a_m_y_sunbathe_01: 0xB7292F0C,
|
||||
a_m_y_surfer_01: 0xEAC2C7EE,
|
||||
a_m_y_vindouche_01: 0xC19377E7,
|
||||
a_m_y_vinewood_01: 0x4B64199D,
|
||||
a_m_y_vinewood_02: 0x5D15BD00,
|
||||
a_m_y_vinewood_03: 0x1FDF4294,
|
||||
a_m_y_vinewood_04: 0x31C9E669,
|
||||
a_m_y_yoga_01: 0xAB0A7155,
|
||||
cs_amandatownley: 0x95EF18E3,
|
||||
cs_andreas: 0xE7565327,
|
||||
cs_ashley: 0x26C3D079,
|
||||
cs_bankman: 0x9760192E,
|
||||
cs_barry: 0x69591CF7,
|
||||
cs_beverly: 0xB46EC356,
|
||||
cs_brad: 0xEFE5AFE6,
|
||||
cs_bradcadaver: 0x7228AF60,
|
||||
cs_carbuyer: 0x8CCE790F,
|
||||
cs_casey: 0xEA969C40,
|
||||
cs_chengsr: 0x30DB9D7B,
|
||||
cs_chrisformage: 0xC1F380E6,
|
||||
cs_clay: 0xDBCB9834,
|
||||
cs_dale: 0x0CE81655,
|
||||
cs_davenorton: 0x8587248C,
|
||||
cs_debra: 0xECD04FE9,
|
||||
cs_denise: 0x6F802738,
|
||||
cs_devin: 0x2F016D02,
|
||||
cs_dom: 0x4772AF42,
|
||||
cs_dreyfuss: 0x3C60A153,
|
||||
cs_drfriedlander: 0xA3A35C2F,
|
||||
cs_fabien: 0x47035EC1,
|
||||
cs_fbisuit_01: 0x585C0B52,
|
||||
cs_floyd: 0x062547E7,
|
||||
cs_guadalope: 0x0F9513F1,
|
||||
cs_gurk: 0xC314F727,
|
||||
cs_hunter: 0x5B44892C,
|
||||
cs_janet: 0x3034F9E2,
|
||||
cs_jewelass: 0x4440A804,
|
||||
cs_jimmyboston: 0x039677BD,
|
||||
cs_jimmydisanto: 0xB8CC92B4,
|
||||
cs_joeminuteman: 0xF09D5E29,
|
||||
cs_johnnyklebitz: 0xFA8AB881,
|
||||
cs_josef: 0x459762CA,
|
||||
cs_josh: 0x450EEF9D,
|
||||
cs_karen_daniels: 0x4BAF381C,
|
||||
cs_lamardavis: 0x45463A0D,
|
||||
cs_lazlow: 0x38951A1B,
|
||||
cs_lestercrest: 0xB594F5C3,
|
||||
cs_lifeinvad_01: 0x72551375,
|
||||
cs_magenta: 0x5816C61A,
|
||||
cs_manuel: 0xFBB374CA,
|
||||
cs_marnie: 0x574DE134,
|
||||
cs_martinmadrazo: 0x43595670,
|
||||
cs_maryann: 0x0998C7AD,
|
||||
cs_michelle: 0x70AEB9C8,
|
||||
cs_milton: 0xB76A330F,
|
||||
cs_molly: 0x45918E44,
|
||||
cs_movpremf_01: 0x4BBA84D9,
|
||||
cs_movpremmale: 0x8D67EE7D,
|
||||
cs_mrk: 0xC3CC9A75,
|
||||
cs_mrs_thornhill: 0x4F921E6E,
|
||||
cs_mrsphillips: 0xCBFDA3CF,
|
||||
cs_natalia: 0x4EFEB1F0,
|
||||
cs_nervousron: 0x7896DA94,
|
||||
cs_nigel: 0xE1479C0B,
|
||||
cs_old_man1a: 0x1EEC7BDC,
|
||||
cs_old_man2: 0x98F9E770,
|
||||
cs_omega: 0x8B70B405,
|
||||
cs_orleans: 0xAD340F5A,
|
||||
cs_paper: 0x6B38B8F8,
|
||||
cs_patricia: 0xDF8B1301,
|
||||
cs_priest: 0x4D6DE57E,
|
||||
cs_prolsec_02: 0x1E9314A2,
|
||||
cs_russiandrunk: 0x46521A32,
|
||||
cs_siemonyetarian: 0xC0937202,
|
||||
cs_solomon: 0xF6D1E04E,
|
||||
cs_stevehains: 0xA4E0A1FE,
|
||||
cs_stretch: 0x893D6805,
|
||||
cs_tanisha: 0x42FE5370,
|
||||
cs_taocheng: 0x8864083D,
|
||||
cs_taostranslator: 0x53536529,
|
||||
cs_tenniscoach: 0x5C26040A,
|
||||
cs_terry: 0x3A5201C5,
|
||||
cs_tom: 0x69E8ABC3,
|
||||
cs_tomepsilon: 0x8C0FD4E2,
|
||||
cs_tracydisanto: 0x0609B130,
|
||||
cs_wade: 0xD266D9D6,
|
||||
cs_zimbor: 0xEAACAAF0,
|
||||
csb_abigail: 0x89768941,
|
||||
csb_agent: 0xD770C9B4,
|
||||
csb_anita: 0x0703F106,
|
||||
csb_anton: 0xA5C787B6,
|
||||
csb_ballasog: 0xABEF0004,
|
||||
csb_bride: 0x82BF7EA1,
|
||||
csb_burgerdrug: 0x8CDCC057,
|
||||
csb_car3guy1: 0x04430687,
|
||||
csb_car3guy2: 0x1383A508,
|
||||
csb_chef: 0xA347CA8A,
|
||||
csb_chef2: 0xAE5BE23A,
|
||||
csb_chin_goon: 0xA8C22996,
|
||||
csb_cletus: 0xCAE9E5D5,
|
||||
csb_cop: 0x9AB35F63,
|
||||
csb_customer: 0xA44F6F8B,
|
||||
csb_denise_friend: 0xB58D2529,
|
||||
csb_fos_rep: 0x1BCC157B,
|
||||
csb_g: 0xA28E71D7,
|
||||
csb_groom: 0x7AAB19D2,
|
||||
csb_grove_str_dlr: 0xE8594E22,
|
||||
csb_hao: 0xEC9E8F1C,
|
||||
csb_hugh: 0x6F139B54,
|
||||
csb_imran: 0xE3420BDB,
|
||||
csb_jackhowitzer: 0x44BC7BB1,
|
||||
csb_janitor: 0xC2005A40,
|
||||
csb_maude: 0xBCC475CB,
|
||||
csb_money: 0x989DFD9A,
|
||||
csb_mp_agent14: 0x6DBBFC8B,
|
||||
csb_mweather: 0x613E626C,
|
||||
csb_ortega: 0xC0DB04CF,
|
||||
csb_oscar: 0xF41F399B,
|
||||
csb_paige: 0x5B1FA0C3,
|
||||
csb_popov: 0x617D89E2,
|
||||
csb_porndudes: 0x2F4AFE35,
|
||||
csb_prologuedriver: 0xF00B49DB,
|
||||
csb_prolsec: 0x7FA2F024,
|
||||
csb_ramp_gang: 0xC2800DBE,
|
||||
csb_ramp_hic: 0x858C94B8,
|
||||
csb_ramp_hipster: 0x21F58BB4,
|
||||
csb_ramp_marine: 0x616C97B9,
|
||||
csb_ramp_mex: 0xF64ED7D0,
|
||||
csb_rashcosvki: 0x188099A9,
|
||||
csb_reporter: 0x2E420A24,
|
||||
csb_roccopelosi: 0xAA64168C,
|
||||
csb_screen_writer: 0x8BE12CEC,
|
||||
csb_stripper_01: 0xAEEA76B5,
|
||||
csb_stripper_02: 0x81441B71,
|
||||
csb_tonya: 0x6343DD19,
|
||||
csb_trafficwarden: 0xDE2937F3,
|
||||
csb_undercover: 0xEF785A6A,
|
||||
csb_vagspeak: 0x48FF4CA9,
|
||||
g_f_importexport_01: 0x84A1B11A,
|
||||
g_f_y_ballas_01: 0x158C439C,
|
||||
g_f_y_families_01: 0x4E0CE5D3,
|
||||
g_f_y_lost_01: 0xFD5537DE,
|
||||
g_f_y_vagos_01: 0x5AA42C21,
|
||||
g_m_importexport_01: 0xBCA2CCEA,
|
||||
g_m_m_armboss_01: 0xF1E823A2,
|
||||
g_m_m_armgoon_01: 0xFDA94268,
|
||||
g_m_m_armlieut_01: 0xE7714013,
|
||||
g_m_m_chemwork_01: 0xF6157D8F,
|
||||
g_m_m_chiboss_01: 0xB9DD0300,
|
||||
g_m_m_chicold_01: 0x106D9A99,
|
||||
g_m_m_chigoon_01: 0x7E4F763F,
|
||||
g_m_m_chigoon_02: 0xFF71F826,
|
||||
g_m_m_korboss_01: 0x352A026F,
|
||||
g_m_m_mexboss_01: 0x5761F4AD,
|
||||
g_m_m_mexboss_02: 0x4914D813,
|
||||
g_m_y_armgoon_02: 0xC54E878A,
|
||||
g_m_y_azteca_01: 0x68709618,
|
||||
g_m_y_ballaeast_01: 0xF42EE883,
|
||||
g_m_y_ballaorig_01: 0x231AF63F,
|
||||
g_m_y_ballasout_01: 0x23B88069,
|
||||
g_m_y_famca_01: 0xE83B93B7,
|
||||
g_m_y_famdnf_01: 0xDB729238,
|
||||
g_m_y_famfor_01: 0x84302B09,
|
||||
g_m_y_korean_01: 0x247502A9,
|
||||
g_m_y_korean_02: 0x8FEDD989,
|
||||
g_m_y_korlieut_01: 0x7CCBE17A,
|
||||
g_m_y_lost_01: 0x4F46D607,
|
||||
g_m_y_lost_02: 0x3D843282,
|
||||
g_m_y_lost_03: 0x32B11CDC,
|
||||
g_m_y_mexgang_01: 0xBDDD5546,
|
||||
g_m_y_mexgoon_01: 0x26EF3426,
|
||||
g_m_y_mexgoon_02: 0x31A3498E,
|
||||
g_m_y_mexgoon_03: 0x964D12DC,
|
||||
g_m_y_pologoon_01: 0x4F3FBA06,
|
||||
g_m_y_pologoon_02: 0xA2E86156,
|
||||
g_m_y_salvaboss_01: 0x905CE0CA,
|
||||
g_m_y_salvagoon_01: 0x278C8CB7,
|
||||
g_m_y_salvagoon_02: 0x3273A285,
|
||||
g_m_y_salvagoon_03: 0x03B8C510,
|
||||
g_m_y_strpunk_01: 0xFD1C49BB,
|
||||
g_m_y_strpunk_02: 0x0DA1EAC6,
|
||||
hc_driver: 0x3B474ADF,
|
||||
hc_gunman: 0x0B881AEE,
|
||||
hc_hacker: 0x99BB00F8,
|
||||
ig_abigail: 0x400AEC41,
|
||||
ig_agent: 0x246AF208,
|
||||
ig_amandatownley: 0x6D1E15F7,
|
||||
ig_andreas: 0x47E4EEA0,
|
||||
ig_ashley: 0x7EF440DB,
|
||||
ig_avon: 0xFCE270C2,
|
||||
ig_ballasog: 0xA70B4A92,
|
||||
ig_bankman: 0x909D9E7F,
|
||||
ig_barry: 0x2F8845A3,
|
||||
ig_benny: 0xC4B715D2,
|
||||
ig_bestmen: 0x5746CD96,
|
||||
ig_beverly: 0xBDA21E5C,
|
||||
ig_brad: 0xBDBB4922,
|
||||
ig_bride: 0x6162EC47,
|
||||
ig_car3guy1: 0x84F9E937,
|
||||
ig_car3guy2: 0x75C34ACA,
|
||||
ig_casey: 0xE0FA2554,
|
||||
ig_chef: 0x49EADBF6,
|
||||
ig_chef2: 0x85889AC3,
|
||||
ig_chengsr: 0xAAE4EA7B,
|
||||
ig_chrisformage: 0x286E54A7,
|
||||
ig_clay: 0x6CCFE08A,
|
||||
ig_claypain: 0x9D0087A8,
|
||||
ig_cletus: 0xE6631195,
|
||||
ig_dale: 0x467415E9,
|
||||
ig_davenorton: 0x15CD4C33,
|
||||
ig_denise: 0x820B33BD,
|
||||
ig_devin: 0x7461A0B0,
|
||||
ig_dom: 0x9C2DB088,
|
||||
ig_dreyfuss: 0xDA890932,
|
||||
ig_drfriedlander: 0xCBFC0DF5,
|
||||
ig_fabien: 0xD090C350,
|
||||
ig_fbisuit_01: 0x3AE4A33B,
|
||||
ig_floyd: 0xB1B196B2,
|
||||
ig_g: 0x841BA933,
|
||||
ig_groom: 0xFECE8B85,
|
||||
ig_hao: 0x65978363,
|
||||
ig_hunter: 0xCE1324DE,
|
||||
ig_janet: 0x0D6D9C49,
|
||||
ig_jay_norris: 0x7A32EE74,
|
||||
ig_jewelass: 0x0F5D26BB,
|
||||
ig_jimmyboston: 0xEDA0082D,
|
||||
ig_jimmydisanto: 0x570462B9,
|
||||
ig_joeminuteman: 0xBE204C9B,
|
||||
ig_johnnyklebitz: 0x87CA80AE,
|
||||
ig_josef: 0xE11A9FB4,
|
||||
ig_josh: 0x799E9EEE,
|
||||
ig_karen_daniels: 0xEB51D959,
|
||||
ig_kerrymcintosh: 0x5B3BD90D,
|
||||
ig_lamardavis: 0x65B93076,
|
||||
ig_lazlow: 0xDFE443E5,
|
||||
ig_lestercrest_2: 0x6E42FD26,
|
||||
ig_lestercrest: 0x4DA6E849,
|
||||
ig_lifeinvad_01: 0x5389A93C,
|
||||
ig_lifeinvad_02: 0x27BD51D4,
|
||||
ig_magenta: 0xFCDC910A,
|
||||
ig_malc: 0xF1BCA919,
|
||||
ig_manuel: 0xFD418E10,
|
||||
ig_marnie: 0x188232D0,
|
||||
ig_maryann: 0xA36F9806,
|
||||
ig_maude: 0x3BE8287E,
|
||||
ig_michelle: 0xBF9672F4,
|
||||
ig_milton: 0xCB3059B2,
|
||||
ig_molly: 0xAF03DDE1,
|
||||
ig_money: 0x37FACDA6,
|
||||
ig_mp_agent14: 0xFBF98469,
|
||||
ig_mrk: 0xEDDCAB6D,
|
||||
ig_mrs_thornhill: 0x1E04A96B,
|
||||
ig_mrsphillips: 0x3862EEA8,
|
||||
ig_natalia: 0xDE17DD3B,
|
||||
ig_nervousron: 0xBD006AF1,
|
||||
ig_nigel: 0xC8B7167D,
|
||||
ig_old_man1a: 0x719D27F4,
|
||||
ig_old_man2: 0xEF154C47,
|
||||
ig_omega: 0x60E6A7D8,
|
||||
ig_oneil: 0x2DC6D3E7,
|
||||
ig_orleans: 0x61D4C771,
|
||||
ig_ortega: 0x26A562B7,
|
||||
ig_paige: 0x154FCF3F,
|
||||
ig_paper: 0x999B00C6,
|
||||
ig_patricia: 0xC56E118C,
|
||||
ig_popov: 0x267630FE,
|
||||
ig_priest: 0x6437E77D,
|
||||
ig_prolsec_02: 0x27B3AD75,
|
||||
ig_ramp_gang: 0xE52E126C,
|
||||
ig_ramp_hic: 0x45753032,
|
||||
ig_ramp_hipster: 0xDEEF9F6E,
|
||||
ig_ramp_mex: 0xE6AC74A4,
|
||||
ig_rashcosvki: 0x380C4DE6,
|
||||
ig_roccopelosi: 0xD5BA52FF,
|
||||
ig_russiandrunk: 0x3D0A5EB1,
|
||||
ig_screen_writer: 0xFFE63677,
|
||||
ig_siemonyetarian: 0x4C7B2F05,
|
||||
ig_solomon: 0x86BDFE26,
|
||||
ig_stevehains: 0x382121C8,
|
||||
ig_stretch: 0x36984358,
|
||||
ig_talina: 0xE793C8E8,
|
||||
ig_tanisha: 0x0D810489,
|
||||
ig_taocheng: 0xDC5C5EA5,
|
||||
ig_taostranslator: 0x7C851464,
|
||||
ig_tenniscoach: 0xA23B5F57,
|
||||
ig_terry: 0x67000B94,
|
||||
ig_tomepsilon: 0xCD777AAA,
|
||||
ig_tonya: 0xCAC85344,
|
||||
ig_tracydisanto: 0xDE352A35,
|
||||
ig_trafficwarden: 0x5719786D,
|
||||
ig_tylerdix: 0x5265F707,
|
||||
ig_vagspeak: 0xF9FD068C,
|
||||
ig_wade: 0x92991B72,
|
||||
ig_zimbor: 0x0B34D6F5,
|
||||
mp_f_boatstaff_01: 0x3293B9CE,
|
||||
mp_f_cardesign_01: 0x242C34A7,
|
||||
mp_f_chbar_01: 0xC3F6E385,
|
||||
mp_f_cocaine_01: 0x4B657AF8,
|
||||
mp_f_counterfeit_01: 0xB788F1F5,
|
||||
mp_f_deadhooker: 0x73DEA88B,
|
||||
mp_f_execpa_01: 0x432CA064,
|
||||
mp_f_execpa_02: 0x5972CCF0,
|
||||
mp_f_forgery_01: 0x781A3CF8,
|
||||
mp_f_freemode_01: 0x9C9EFFD8,
|
||||
mp_f_helistaff_01: 0x19B6FF06,
|
||||
mp_f_meth_01: 0xD2B27EC1,
|
||||
mp_f_misty_01: 0xD128FF9D,
|
||||
mp_f_stripperlite: 0x2970A494,
|
||||
mp_f_weed_01: 0xB26573A3,
|
||||
mp_g_m_pros_01: 0x6C9DD7C9,
|
||||
mp_m_avongoon: 0x9C13CB95,
|
||||
mp_m_boatstaff_01: 0xC85F0A88,
|
||||
mp_m_bogdangoon: 0x4D5696F7,
|
||||
mp_m_claude_01: 0xC0F371B7,
|
||||
mp_m_cocaine_01: 0x56D38F95,
|
||||
mp_m_counterfeit_01: 0x9855C974,
|
||||
mp_m_exarmy_01: 0x45348DBB,
|
||||
mp_m_execpa_01: 0x3E8417BC,
|
||||
mp_m_famdd_01: 0x33A464E5,
|
||||
mp_m_fibsec_01: 0x5CDEF405,
|
||||
mp_m_forgery_01: 0x613E709B,
|
||||
mp_m_freemode_01: 0x705E61F2,
|
||||
mp_m_g_vagfun_01: 0xC4A617BD,
|
||||
mp_m_marston_01: 0x38430167,
|
||||
mp_m_meth_01: 0xEDB42F3F,
|
||||
mp_m_niko_01: 0xEEDACFC9,
|
||||
mp_m_securoguard_01: 0xDA2C984E,
|
||||
mp_m_shopkeep_01: 0x18CE57D0,
|
||||
mp_m_waremech_01: 0xF7A74139,
|
||||
mp_m_weapexp_01: 0x36EA5B09,
|
||||
mp_m_weapwork_01: 0x4186506E,
|
||||
mp_m_weed_01: 0x917ED459,
|
||||
mp_s_m_armoured_01: 0xCDEF5408,
|
||||
player_one: 0x9B22DBAF,
|
||||
player_two: 0x9B810FA2,
|
||||
player_zero: 0x0D7114C9,
|
||||
s_f_m_fembarber: 0x163B875B,
|
||||
s_f_m_maid_01: 0xE093C5C6,
|
||||
s_f_m_shop_high: 0xAE47E4B0,
|
||||
s_f_m_sweatshop_01: 0x312B5BC0,
|
||||
s_f_y_airhostess_01: 0x5D71A46F,
|
||||
s_f_y_bartender_01: 0x780C01BD,
|
||||
s_f_y_baywatch_01: 0x4A8E5536,
|
||||
s_f_y_cop_01: 0x15F8700D,
|
||||
s_f_y_factory_01: 0x69F46BF3,
|
||||
s_f_y_hooker_01: 0x028ABF95,
|
||||
s_f_y_hooker_02: 0x14C3E407,
|
||||
s_f_y_hooker_03: 0x031640AC,
|
||||
s_f_y_migrant_01: 0xD55B2BF5,
|
||||
s_f_y_movprem_01: 0x2300C816,
|
||||
s_f_y_ranger_01: 0x9FC7F637,
|
||||
s_f_y_scrubs_01: 0xAB594AB6,
|
||||
s_f_y_sheriff_01: 0x4161D042,
|
||||
s_f_y_shop_low: 0xA96E2604,
|
||||
s_f_y_shop_mid: 0x3EECBA5D,
|
||||
s_f_y_stripper_01: 0x52580019,
|
||||
s_f_y_stripper_02: 0x6E0FB794,
|
||||
s_f_y_stripperlite: 0x5C14EDFA,
|
||||
s_f_y_sweatshop_01: 0x8502B6B2,
|
||||
s_m_m_ammucountry: 0x0DE9A30A,
|
||||
s_m_m_armoured_01: 0x95C76ECD,
|
||||
s_m_m_armoured_02: 0x63858A4A,
|
||||
s_m_m_autoshop_01: 0x040EABE3,
|
||||
s_m_m_autoshop_02: 0xF06B849D,
|
||||
s_m_m_bouncer_01: 0x9FD4292D,
|
||||
s_m_m_ccrew_01: 0xC9E5F56B,
|
||||
s_m_m_chemsec_01: 0x2EFEAFD5,
|
||||
s_m_m_ciasec_01: 0x625D6958,
|
||||
s_m_m_cntrybar_01: 0x1A021B83,
|
||||
s_m_m_dockwork_01: 0x14D7B4E0,
|
||||
s_m_m_doctor_01: 0xD47303AC,
|
||||
s_m_m_fiboffice_01: 0xEDBC7546,
|
||||
s_m_m_fiboffice_02: 0x26F067AD,
|
||||
s_m_m_fibsec_01: 0x7B8B434B,
|
||||
s_m_m_gaffer_01: 0xA956BD9E,
|
||||
s_m_m_gardener_01: 0x49EA5685,
|
||||
s_m_m_gentransport: 0x1880ED06,
|
||||
s_m_m_hairdress_01: 0x418DFF92,
|
||||
s_m_m_highsec_01: 0xF161D212,
|
||||
s_m_m_highsec_02: 0x2930C1AB,
|
||||
s_m_m_janitor: 0xA96BD9EC,
|
||||
s_m_m_lathandy_01: 0x9E80D2CE,
|
||||
s_m_m_lifeinvad_01: 0xDE0077FD,
|
||||
s_m_m_linecook: 0xDB9C0997,
|
||||
s_m_m_lsmetro_01: 0x765AAAE4,
|
||||
s_m_m_mariachi_01: 0x7EA4FFA6,
|
||||
s_m_m_marine_01: 0xF2DAA2ED,
|
||||
s_m_m_marine_02: 0xF0259D83,
|
||||
s_m_m_migrant_01: 0xED0CE4C6,
|
||||
s_m_m_movalien_01: 0x64611296,
|
||||
s_m_m_movprem_01: 0xD85E6D28,
|
||||
s_m_m_movspace_01: 0xE7B31432,
|
||||
s_m_m_paramedic_01: 0xB353629E,
|
||||
s_m_m_pilot_01: 0xE75B4B1C,
|
||||
s_m_m_pilot_02: 0xF63DE8E1,
|
||||
s_m_m_postal_01: 0x62599034,
|
||||
s_m_m_postal_02: 0x7367324F,
|
||||
s_m_m_prisguard_01: 0x56C96FC6,
|
||||
s_m_m_scientist_01: 0x4117D39B,
|
||||
s_m_m_security_01: 0xD768B228,
|
||||
s_m_m_snowcop_01: 0x1AE8BB58,
|
||||
s_m_m_strperf_01: 0x795AC7A8,
|
||||
s_m_m_strpreach_01: 0x1C0077FB,
|
||||
s_m_m_strvend_01: 0xCE9113A9,
|
||||
s_m_m_trucker_01: 0x59511A6C,
|
||||
s_m_m_ups_01: 0x9FC37F22,
|
||||
s_m_m_ups_02: 0xD0BDE116,
|
||||
s_m_o_busker_01: 0xAD9EF1BB,
|
||||
s_m_y_airworker: 0x62018559,
|
||||
s_m_y_ammucity_01: 0x9E08633D,
|
||||
s_m_y_armymech_01: 0x62CC28E2,
|
||||
s_m_y_autopsy_01: 0xB2273D4E,
|
||||
s_m_y_barman_01: 0xE5A11106,
|
||||
s_m_y_baywatch_01: 0x0B4A6862,
|
||||
s_m_y_blackops_01: 0xB3F3EE34,
|
||||
s_m_y_blackops_02: 0x7A05FA59,
|
||||
s_m_y_blackops_03: 0x5076A73B,
|
||||
s_m_y_busboy_01: 0xD8F9CD47,
|
||||
s_m_y_chef_01: 0x0F977CEB,
|
||||
s_m_y_clown_01: 0x04498DDE,
|
||||
s_m_y_construct_01: 0xD7DA9E99,
|
||||
s_m_y_construct_02: 0xC5FEFADE,
|
||||
s_m_y_cop_01: 0x5E3DA4A4,
|
||||
s_m_y_dealer_01: 0xE497BBEF,
|
||||
s_m_y_devinsec_01: 0x9B557274,
|
||||
s_m_y_dockwork_01: 0x867639D1,
|
||||
s_m_y_doorman_01: 0x22911304,
|
||||
s_m_y_dwservice_01: 0x75D30A91,
|
||||
s_m_y_dwservice_02: 0xF5908A06,
|
||||
s_m_y_factory_01: 0x4163A158,
|
||||
s_m_y_fireman_01: 0xB6B1EDA8,
|
||||
s_m_y_garbage: 0xEE75A00F,
|
||||
s_m_y_grip_01: 0x309E7DEA,
|
||||
s_m_y_hwaycop_01: 0x739B1EF5,
|
||||
s_m_y_marine_01: 0x65793043,
|
||||
s_m_y_marine_02: 0x58D696FE,
|
||||
s_m_y_marine_03: 0x72C0CAD2,
|
||||
s_m_y_mime: 0x3CDCA742,
|
||||
s_m_y_pestcont_01: 0x48114518,
|
||||
s_m_y_pilot_01: 0xAB300C07,
|
||||
s_m_y_prismuscl_01: 0x5F2113A1,
|
||||
s_m_y_prisoner_01: 0xB1BB9B59,
|
||||
s_m_y_ranger_01: 0xEF7135AE,
|
||||
s_m_y_robber_01: 0xC05E1399,
|
||||
s_m_y_sheriff_01: 0xB144F9B9,
|
||||
s_m_y_shop_mask: 0x6E122C06,
|
||||
s_m_y_strvend_01: 0x927F2323,
|
||||
s_m_y_swat_01: 0x8D8F1B10,
|
||||
s_m_y_uscg_01: 0xCA0050E9,
|
||||
s_m_y_valet_01: 0x3B96F23E,
|
||||
s_m_y_waiter_01: 0xAD4C724C,
|
||||
s_m_y_winclean_01: 0x550D8D9D,
|
||||
s_m_y_xmech_01: 0x441405EC,
|
||||
s_m_y_xmech_02_mp: 0x69147A0D,
|
||||
s_m_y_xmech_02: 0xBE20FA04,
|
||||
u_f_m_corpse_01: 0x2E140314,
|
||||
u_f_m_drowned_01: 0xD7F37609,
|
||||
u_f_m_miranda: 0x414FA27B,
|
||||
u_f_m_promourn_01: 0xA20899E7,
|
||||
u_f_o_moviestar: 0x35578634,
|
||||
u_f_o_prolhost_01: 0xC512DD23,
|
||||
u_f_y_bikerchic: 0xFA389D4F,
|
||||
u_f_y_comjane: 0xB6AA85CE,
|
||||
u_f_y_corpse_01: 0x9C70109D,
|
||||
u_f_y_corpse_02: 0x0D9C72F8,
|
||||
u_f_y_hotposh_01: 0x969B6DFE,
|
||||
u_f_y_jewelass_01: 0xF0D4BE2E,
|
||||
u_f_y_mistress: 0x5DCA2528,
|
||||
u_f_y_poppymich: 0x23E9A09E,
|
||||
u_f_y_princess: 0xD2E3A284,
|
||||
u_f_y_spyactress: 0x5B81D86C,
|
||||
u_m_m_aldinapoli: 0xF0EC56E2,
|
||||
u_m_m_bankman: 0xC306D6F5,
|
||||
u_m_m_bikehire_01: 0x76474545,
|
||||
u_m_m_doa_01: 0x621E6BFD,
|
||||
u_m_m_edtoh: 0x2A797197,
|
||||
u_m_m_fibarchitect: 0x342333D3,
|
||||
u_m_m_filmdirector: 0x2B6E1BB6,
|
||||
u_m_m_glenstank_01: 0x45BB1666,
|
||||
u_m_m_griff_01: 0xC454BCBB,
|
||||
u_m_m_jesus_01: 0xCE2CB751,
|
||||
u_m_m_jewelsec_01: 0xACCCBDB6,
|
||||
u_m_m_jewelthief: 0xE6CC3CDC,
|
||||
u_m_m_markfost: 0x1C95CB0B,
|
||||
u_m_m_partytarget: 0x81F74DE7,
|
||||
u_m_m_prolsec_01: 0x709220C7,
|
||||
u_m_m_promourn_01: 0xCE96030B,
|
||||
u_m_m_rivalpap: 0x60D5D6DA,
|
||||
u_m_m_spyactor: 0xAC0EA5D8,
|
||||
u_m_m_streetart_01: 0x6C19E962,
|
||||
u_m_m_willyfist: 0x90769A8F,
|
||||
u_m_o_filmnoir: 0x2BACC2DB,
|
||||
u_m_o_finguru_01: 0x46E39E63,
|
||||
u_m_o_taphillbilly: 0x9A1E5E52,
|
||||
u_m_o_tramp_01: 0x6A8F1F9B,
|
||||
u_m_y_abner: 0xF0AC2626,
|
||||
u_m_y_antonb: 0xCF623A2C,
|
||||
u_m_y_babyd: 0xDA116E7E,
|
||||
u_m_y_baygor: 0x5244247D,
|
||||
u_m_y_burgerdrug_01: 0x8B7D3766,
|
||||
u_m_y_chip: 0x24604B2B,
|
||||
u_m_y_corpse_01: 0x94C2A03F,
|
||||
u_m_y_cyclist_01: 0x2D0EFCEB,
|
||||
u_m_y_fibmugger_01: 0x85B9C668,
|
||||
u_m_y_guido_01: 0xC6B49A2F,
|
||||
u_m_y_gunvend_01: 0xB3229752,
|
||||
u_m_y_hippie_01: 0xF041880B,
|
||||
u_m_y_imporage: 0x348065F5,
|
||||
u_m_y_juggernaut_01: 0x90EF5134,
|
||||
u_m_y_justin: 0x7DC3908F,
|
||||
u_m_y_mani: 0xC8BB1E52,
|
||||
u_m_y_militarybum: 0x4705974A,
|
||||
u_m_y_paparazzi: 0x5048B328,
|
||||
u_m_y_party_01: 0x36E70600,
|
||||
u_m_y_pogo_01: 0xDC59940D,
|
||||
u_m_y_prisoner_01: 0x7B9B4BC0,
|
||||
u_m_y_proldriver_01: 0x855E36A3,
|
||||
u_m_y_rsranger_01: 0x3C438CD2,
|
||||
u_m_y_sbike: 0x6AF4185D,
|
||||
u_m_y_staggrm_01: 0x9194CE03,
|
||||
u_m_y_tattoo_01: 0x94AE2B8C,
|
||||
u_m_y_zombie_01: 0xAC4B4506,
|
||||
}
|
||||
var CreatedPeds = [];
|
||||
mp.events.add("SERVER:CreateStaticPeds", (jsonVector3s, jsonHeadings, jsonCharHashes, jsonDimension) => {
|
||||
var vector3s = JSON.parse(jsonVector3s);
|
||||
var headings = JSON.parse(jsonHeadings);
|
||||
var charHashes = JSON.parse(jsonCharHashes);
|
||||
var dimension = JSON.parse(jsonDimension);
|
||||
for (var i = 0; i < vector3s.length; i++) {
|
||||
let p = mp.peds.new(Number(charHashes[i]), vector3s[i], headings[i], dimension[i]);
|
||||
p.freezePosition(true);
|
||||
p.setInvincible(true);
|
||||
p.setCollision(false, false);
|
||||
CreatedPeds.push(p);
|
||||
}
|
||||
});
|
||||
mp.events.add('entityStreamIn', (entity: EntityMp) => {
|
||||
CreatedPeds.forEach(function (p) {
|
||||
if (entity == p) {
|
||||
|
||||
p.freezePosition(true);
|
||||
p.setInvincible(true);
|
||||
p.setCollision(false, false);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,968 @@
|
||||
@font-face {
|
||||
font-family: OSL;
|
||||
src: url(../font/OSL.ttf);
|
||||
}
|
||||
|
||||
* {
|
||||
-webkit-border-radius: 0;
|
||||
-moz-border-radius: 0;
|
||||
border-radius: 0;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0px auto;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.main2 {
|
||||
z-index: 2;
|
||||
background: #0c0c0cc4;
|
||||
position: absolute;
|
||||
padding-left: 100%;
|
||||
padding-top: 100%;
|
||||
}
|
||||
|
||||
.main {
|
||||
z-index: 1;
|
||||
background: #272727;
|
||||
position: absolute;
|
||||
left: 19vw;
|
||||
padding-left: 53vw;
|
||||
padding-top: 33vw;
|
||||
top: 5vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 2vw;
|
||||
position: absolute;
|
||||
color: #fff;
|
||||
font-family: 'OSL';
|
||||
left: 1vw;
|
||||
top: 0.2vw;
|
||||
background: #1b1b1b;
|
||||
}
|
||||
|
||||
.titletext {
|
||||
position: absolute;
|
||||
left: 21vw;
|
||||
background: #1b1b1b;
|
||||
padding-right: 22.7vw;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
right: 72.5vw;
|
||||
cursor: pointer;
|
||||
z-index: 200;
|
||||
top: 9.5vw;
|
||||
}
|
||||
|
||||
.sidebaritem1 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem2 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem3 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem4 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem5 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem6 {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebaritem {
|
||||
z-index: 1;
|
||||
margin-bottom: 0.2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.1vw;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.items {
|
||||
position: absolute;
|
||||
left: 5.5vw;
|
||||
top: 2.5vw;
|
||||
cursor: default;
|
||||
width: 6vw;
|
||||
}
|
||||
|
||||
.item {
|
||||
}
|
||||
|
||||
ul {
|
||||
float: left;
|
||||
}
|
||||
|
||||
li {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.titlecount {
|
||||
position: absolute;
|
||||
font-size: 0.7vw;
|
||||
width: 16.3vw;
|
||||
top: 0vw;
|
||||
background: #1b1b1b;
|
||||
padding-top: 1.8vw;
|
||||
left: -1vw;
|
||||
padding-right: 10vw;
|
||||
padding-left: 0.2vw;
|
||||
}
|
||||
|
||||
.sideicon1 {
|
||||
padding-top: 0.2vw;
|
||||
}
|
||||
|
||||
.sideicon2 {
|
||||
padding-top: 0.2vw;
|
||||
}
|
||||
|
||||
.sideicon3 {
|
||||
padding-top: 0.2vw !important;
|
||||
}
|
||||
|
||||
.sideicon4 {
|
||||
padding-top: 0.2vw;
|
||||
}
|
||||
|
||||
.sideicon5 {
|
||||
}
|
||||
|
||||
.sideicon6 {
|
||||
}
|
||||
|
||||
.sideicon7 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon8 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon9 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon10 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon11 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon12 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon13 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon14 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon15 {
|
||||
width: 2vw;
|
||||
}
|
||||
|
||||
.sideicon16 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon17 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon18 {
|
||||
width: 5vw;
|
||||
}
|
||||
|
||||
.sideicon7, .sideicon8, .sideicon9, .sideicon10, .sideicon11, .sideicon12, .sideicon13, .sideicon14, .sideicon15, .sideicon16, .sideicon17, .sideicon18 {
|
||||
position: absolute;
|
||||
left: 2.1vw;
|
||||
top: 0.6vw;
|
||||
}
|
||||
|
||||
.sideicon1, .sideicon2, .sideicon3, .sideicon4, .sideicon5, .sideicon6 {
|
||||
width: 2vw;
|
||||
padding-bottom: 1.8vw;
|
||||
}
|
||||
|
||||
.bartext {
|
||||
margin-top: -6.5vw;
|
||||
font-size: 0.8vw;
|
||||
}
|
||||
|
||||
.sidebaritem1:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
.sidebaritem2:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
.sidebaritem3:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
.sidebaritem4:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
.sidebaritem5:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
.sidebaritem6:hover {
|
||||
background: #131313;
|
||||
}
|
||||
|
||||
li.item1 {
|
||||
}
|
||||
|
||||
li.item2 {
|
||||
top: -22vw;
|
||||
left: 9vw;
|
||||
}
|
||||
|
||||
li.item3 {
|
||||
top: -46vw;
|
||||
left: 16vw;
|
||||
}
|
||||
|
||||
li.item4 {
|
||||
top: -70vw;
|
||||
left: 23vw;
|
||||
}
|
||||
|
||||
li.item5 {
|
||||
top: -94vw;
|
||||
left: 30vw;
|
||||
}
|
||||
|
||||
li.item6 {
|
||||
top: -118vw;
|
||||
left: 37vw;
|
||||
}
|
||||
|
||||
.item1, .item2, .item3, .item4, .item5, .item6 {
|
||||
color: #fff;
|
||||
font-family: 'OSL';
|
||||
position: relative;
|
||||
margin-bottom: 2vw;
|
||||
color: #fff;
|
||||
font-family: OSL;
|
||||
width: 6vw;
|
||||
background: #1b1b1b;
|
||||
height: 4vw;
|
||||
text-align: center;
|
||||
line-height: 6.5vw;
|
||||
transition: 0.2s;
|
||||
font-size: 0.5vw;
|
||||
left: 2vw;
|
||||
top: 2vw;
|
||||
}
|
||||
|
||||
.show {
|
||||
display: show !important;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.green {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
width: 6vw;
|
||||
background: #55ff0096;
|
||||
height: 4vw;
|
||||
line-height: 1;
|
||||
top: -8vw;
|
||||
cursor: pointer;
|
||||
opacity: 0.0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.green:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.red {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
width: 2.5vw;
|
||||
left: 3.5vw;
|
||||
background: #6d2525;
|
||||
height: 1.5vw;
|
||||
line-height: 1;
|
||||
top: -2.4vw;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.red:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.blue {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
width: 2.5vw;
|
||||
left: 0vw;
|
||||
background: #0d91af8c;
|
||||
height: 1.5vw;
|
||||
line-height: 1;
|
||||
top: -7.9vw;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.blue:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.blue2 {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
width: 2.5vw;
|
||||
left: 0vw;
|
||||
background: #0d91af8c;
|
||||
height: 1.5vw;
|
||||
line-height: 1;
|
||||
top: -3.9vw;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.blue2:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
.redImg {
|
||||
width: 1.3vw;
|
||||
margin-top: 0.1vw;
|
||||
}
|
||||
|
||||
.blueImg {
|
||||
width: 1.3vw;
|
||||
margin-top: 0.1vw;
|
||||
}
|
||||
|
||||
.greenImg {
|
||||
width: 1.3vw;
|
||||
margin-top: 1.2vw;
|
||||
}
|
||||
|
||||
body select {
|
||||
display: block;
|
||||
padding: 10px 70px 11px 13px !important;
|
||||
margin-top: -29.9vw;
|
||||
margin-left: -30.6vw;
|
||||
height: auto !important;
|
||||
border: 1px solid #000000;
|
||||
border-radius: 3px;
|
||||
background: url(https://i.ibb.co/b7xjLrB/selectbox-arrow.png) right center no-repeat;
|
||||
background-color: #404040;
|
||||
color: #fffbfb;
|
||||
font-size: 12px;
|
||||
line-height: 12px !important;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
}
|
||||
/* body select.select_box option */
|
||||
body select option {
|
||||
padding: 0 4px;
|
||||
}
|
||||
/* for IE and Edge */
|
||||
select::-ms-expand {
|
||||
display: none;
|
||||
}
|
||||
|
||||
select:disabled::-ms-expand {
|
||||
background: #f60;
|
||||
}
|
||||
|
||||
.Betrag {
|
||||
z-index: 2;
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.Betrag4 {
|
||||
z-index: 2;
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.Betrag3 {
|
||||
z-index: 2;
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
.Betrag2 {
|
||||
z-index: 2;
|
||||
background: rgba(0,0,0,0.6);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
t#tf_nameorid {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1.2vw;
|
||||
width: 6vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
left: -30.1vw;
|
||||
top: -29.9vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_submitTrade {
|
||||
background-color: #267d00;
|
||||
border: none;
|
||||
height: 1.2vw;
|
||||
width: 4vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: -30vw;
|
||||
top: -29.9vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitTrade {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_zahl {
|
||||
background-color: #313131; /* blau */
|
||||
border: none;
|
||||
height: 30px;
|
||||
width: 124px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
left: 42%;
|
||||
top: 40%;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_cancle {
|
||||
background-color: #ff0000;
|
||||
border: none;
|
||||
height: 32px;
|
||||
width: 124px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 33.7%;
|
||||
top: 44%;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahl {
|
||||
background-color: #008CBA; /* blau */
|
||||
border: none;
|
||||
height: 32px;
|
||||
width: 124px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 42%;
|
||||
top: 40%;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahl {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_zahl4 {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 5vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
position: relative;
|
||||
left: 19vw;
|
||||
top: 13vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_cancle4 {
|
||||
background-color: #ff0000;
|
||||
border: none;
|
||||
height: 0.9vw;
|
||||
width: 3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 17.8vw;
|
||||
top: 9.4vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_cancle4 {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_submitZahl4 {
|
||||
background-color: #008CBA;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 8vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 21vw;
|
||||
top: 13vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahl4 {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_submitTrade {
|
||||
background-color: #009b03;
|
||||
border: none;
|
||||
height: 1.6vw;
|
||||
width: 4vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
top: 3vw;
|
||||
left: 29.3vw;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitTrade:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_acceptTrade {
|
||||
background-color: #009b03;
|
||||
border: none;
|
||||
height: 1.6vw;
|
||||
width: 4vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: absolute;
|
||||
color: #ffffff;
|
||||
top: 3vw;
|
||||
left: 29.3vw;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_acceptTrade:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_cancle3 {
|
||||
background-color: #ff0000;
|
||||
border: none;
|
||||
height: 0.9vw;
|
||||
width: 3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 17.8vw;
|
||||
top: 9.4vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
i
|
||||
|
||||
#tf_cancle3:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#tf_cancle:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#tf_cancle2:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#tf_zahl3 {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 5vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
position: relative;
|
||||
left: 19vw;
|
||||
top: 13vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_submitZahl3 {
|
||||
background-color: #008CBA;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 8vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.7vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 21vw;
|
||||
top: 13vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahl3 {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.BoxBlue {
|
||||
background-color: #1b1b1b;
|
||||
height: 11.1vw;
|
||||
width: 20.2vw;
|
||||
position: relative;
|
||||
margin-top: 11vw;
|
||||
margin-left: 16vw;
|
||||
}
|
||||
|
||||
#tf_cancle2 {
|
||||
background-color: #ff0000;
|
||||
border: none;
|
||||
height: 1vw;
|
||||
width: 3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 5.45vw;
|
||||
top: 0vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_submitZahlToHandel {
|
||||
background-color: #008CBA;
|
||||
border: none;
|
||||
height: 1.4vw;
|
||||
width: 7vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
position: relative;
|
||||
left: -3vw;
|
||||
top: 7vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahlToHandel:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#tf_submitZahlToVehicle {
|
||||
background-color: #008CBA;
|
||||
border: none;
|
||||
height: 1.3vw;
|
||||
width: 7.8vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
position: relative;
|
||||
left: 10.8vw;
|
||||
top: 5.45vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahlToVehicle:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#tf_zahl2 {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1vw;
|
||||
width: 4.3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 7.5vw;
|
||||
top: 4.4vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
select.select_box2 {
|
||||
margin-top: -1vw;
|
||||
margin-left: 11.3vw;
|
||||
}
|
||||
|
||||
.blueIcon1 {
|
||||
position: relative;
|
||||
height: 3vw;
|
||||
margin-bottom: -3.1vw;
|
||||
margin-left: 13.4vw;
|
||||
}
|
||||
|
||||
.blueIcon2 {
|
||||
position: relative;
|
||||
height: 3vw;
|
||||
margin-bottom: 0.9vw;
|
||||
margin-left: 3.4vw;
|
||||
}
|
||||
|
||||
.blue3 {
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
width: 2.5vw;
|
||||
left: 0vw;
|
||||
background: #0d91af8c;
|
||||
height: 1.5vw;
|
||||
line-height: 1;
|
||||
top: -2.45vw;
|
||||
z-index: 10000;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.blue3:hover {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
#tf_nameorid {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 6vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
position: absolute;
|
||||
left: 23vw;
|
||||
top: 3vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.alert_green {
|
||||
z-index: 2;
|
||||
background: rgba(85, 255, 0, 0.90);
|
||||
position: relative;
|
||||
width: 17vw;
|
||||
height: 1vw;
|
||||
margin-left: 74.1vw;
|
||||
padding-bottom: 3vw;
|
||||
margin-top: -9.5vw;
|
||||
font-family: 'OSL';
|
||||
font-size: 0.9vw;
|
||||
text-align: center;
|
||||
line-height: 3.9vw;
|
||||
}
|
||||
|
||||
.alert_red {
|
||||
z-index: 2;
|
||||
background: rgba(175, 0, 0, 0.9);
|
||||
position: relative;
|
||||
width: 17vw;
|
||||
height: 1vw;
|
||||
margin-left: 74.1vw;
|
||||
padding-bottom: 3vw;
|
||||
margin-top: -9.5vw;
|
||||
font-family: 'OSL';
|
||||
text-align: center;
|
||||
line-height: 3.9vw;
|
||||
font-size: 0.7vw;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.alert_blue {
|
||||
z-index: 2;
|
||||
background: rgba(0, 140, 186, 0.90);
|
||||
position: relative;
|
||||
width: 17vw;
|
||||
height: 1vw;
|
||||
margin-left: 74.1vw;
|
||||
padding-bottom: 3vw;
|
||||
margin-top: -9.5vw;
|
||||
font-family: 'OSL';
|
||||
text-align: center;
|
||||
line-height: 3.9vw;
|
||||
font-size: 0.7vw;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.alerts {
|
||||
margin-bottom: 47.5vw;
|
||||
padding-top: 43.3vw;
|
||||
}
|
||||
@@ -22,8 +22,6 @@ body {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.main2 {
|
||||
z-index: 2;
|
||||
background: #0c0c0cc4;
|
||||
@@ -557,53 +555,48 @@ t#tf_nameorid {
|
||||
}
|
||||
|
||||
#tf_zahl {
|
||||
background-color: #313131; /* blau */
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 30px;
|
||||
width: 124px;
|
||||
height: 1vw;
|
||||
width: 4.3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 42%;
|
||||
top: 40%;
|
||||
left: 7.8vw;
|
||||
top: 1.2vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#tf_cancle {
|
||||
background-color: #ff0000;
|
||||
border: none;
|
||||
height: 32px;
|
||||
width: 124px;
|
||||
height: 1vw;
|
||||
width: 3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-color: white;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 33.7%;
|
||||
top: 44%;
|
||||
left: 12.5vw;
|
||||
top: -0.2vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
#tf_submitZahl {
|
||||
background-color: #008CBA; /* blau */
|
||||
background-color: #008CBA;
|
||||
border: none;
|
||||
height: 32px;
|
||||
width: 124px;
|
||||
height: 1.5vw;
|
||||
width: 8vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-color: white;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 42%;
|
||||
top: 40%;
|
||||
left: -1.8vw;
|
||||
top: 6vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
@@ -614,15 +607,15 @@ t#tf_nameorid {
|
||||
#tf_zahl4 {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
height: 1.5vw;
|
||||
width: 5vw;
|
||||
height: 1vw;
|
||||
width: 4.3vw;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 19vw;
|
||||
top: 13vw;
|
||||
left: 7.7vw;
|
||||
top: 1vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@@ -635,12 +628,10 @@ t#tf_nameorid {
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 17.8vw;
|
||||
top: 9.4vw;
|
||||
left: 12.5vw;
|
||||
top: -0.3vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
@@ -657,12 +648,10 @@ t#tf_nameorid {
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
font-color: white;
|
||||
position: relative;
|
||||
left: 21vw;
|
||||
top: 13vw;
|
||||
left: -5.4vw;
|
||||
top: 6vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
@@ -692,7 +681,6 @@ t#tf_nameorid {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
#tf_acceptTrade {
|
||||
background-color: #009b03;
|
||||
border: none;
|
||||
@@ -731,11 +719,13 @@ t#tf_nameorid {
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
}i
|
||||
}
|
||||
|
||||
#tf_cancle3:hover {
|
||||
i
|
||||
|
||||
#tf_cancle3:hover {
|
||||
opacity: 1
|
||||
}
|
||||
}
|
||||
|
||||
#tf_cancle:hover {
|
||||
opacity: 1
|
||||
@@ -784,7 +774,7 @@ t#tf_nameorid {
|
||||
|
||||
.BoxBlue {
|
||||
background-color: #1b1b1b;
|
||||
height: 11.1vw;
|
||||
height: 8.9vw;
|
||||
width: 20.2vw;
|
||||
position: relative;
|
||||
margin-top: 11vw;
|
||||
@@ -801,7 +791,7 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 5.45vw;
|
||||
left: 12.45vw;
|
||||
top: 0vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -837,8 +827,8 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.6vw;
|
||||
position: relative;
|
||||
left: 10.8vw;
|
||||
top: 5.45vw;
|
||||
left: -1.7vw;
|
||||
top: 6.45vw;
|
||||
color: #ffffff;
|
||||
opacity: 0.5;
|
||||
transition: 0.3s;
|
||||
@@ -858,8 +848,8 @@ t#tf_nameorid {
|
||||
display: inline-block;
|
||||
font-size: 0.5vw;
|
||||
position: relative;
|
||||
left: 7.5vw;
|
||||
top: 4.4vw;
|
||||
left: 7.8vw;
|
||||
top: 1.4vw;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@@ -871,15 +861,15 @@ select.select_box2 {
|
||||
.blueIcon1 {
|
||||
position: relative;
|
||||
height: 3vw;
|
||||
margin-bottom: -3.1vw;
|
||||
margin-left: 13.4vw;
|
||||
margin-bottom: -3.6vw;
|
||||
margin-left: 8.5vw;
|
||||
}
|
||||
|
||||
.blueIcon2 {
|
||||
position: relative;
|
||||
height: 3vw;
|
||||
margin-bottom: 0.9vw;
|
||||
margin-left: 3.4vw;
|
||||
margin-bottom: -4.6vw;
|
||||
margin-left: 0.7vw;
|
||||
}
|
||||
|
||||
.blue3 {
|
||||
@@ -901,7 +891,6 @@ select.select_box2 {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
|
||||
#tf_nameorid {
|
||||
background-color: #313131;
|
||||
border: none;
|
||||
@@ -917,7 +906,6 @@ select.select_box2 {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
.alert_green {
|
||||
z-index: 2;
|
||||
background: rgba(85, 255, 0, 0.90);
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg height="512pt" viewBox="-64 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m256 80h-32v-48h-64v48h-32v-80h128zm0 0" fill="#62808c"/><path d="m304 512h-224c-26.507812 0-48-21.492188-48-48v-336h320v336c0 26.507812-21.492188 48-48 48zm0 0" fill="#e76e54"/><path d="m384 160h-384v-64c0-17.671875 14.328125-32 32-32h320c17.671875 0 32 14.328125 32 32zm0 0" fill="#77959e"/><path d="m260 260c-6.246094-6.246094-16.375-6.246094-22.625 0l-41.375 41.375-41.375-41.375c-6.25-6.246094-16.378906-6.246094-22.625 0s-6.246094 16.375 0 22.625l41.375 41.375-41.375 41.375c-6.246094 6.25-6.246094 16.378906 0 22.625s16.375 6.246094 22.625 0l41.375-41.375 41.375 41.375c6.25 6.246094 16.378906 6.246094 22.625 0s6.246094-16.375 0-22.625l-41.375-41.375 41.375-41.375c6.246094-6.25 6.246094-16.378906 0-22.625zm0 0" fill="#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 842 B |
@@ -11,40 +11,48 @@
|
||||
<body>
|
||||
|
||||
<div class="alerts" id='alertbox'>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="sidebar">
|
||||
<ul>
|
||||
<li name="side1" class="sidebaritem1" onclick="switchSite('backpackClass')"><img class="sideicon1" src="img/backpack/backpack.svg"><p class="bartext">Rucksack</p></li>
|
||||
<li name="side2" class="sidebaritem2" onclick="getVehicle()"><img class="sideicon2" src="img/backpack/car.svg"><p class="bartext">Fahrzeug</p></li>
|
||||
<li name="side3" class="sidebaritem3" onclick="switchSite('tradeClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handel</p></li>
|
||||
<li name="side1" class="sidebaritem1" onclick="switchSite('backpackClass')">
|
||||
<img class="sideicon1" src="img/backpack/backpack.svg"><p class="bartext">Rucksack</p>
|
||||
</li>
|
||||
<li name="side2" class="sidebaritem2" onclick="getVehicle()">
|
||||
<img class="sideicon2" src="img/backpack/car.svg"><p class="bartext">Fahrzeug</p>
|
||||
</li>
|
||||
<!-- <li name="side3" class="sidebaritem3" onclick="switchSite('tradeClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handel</p></li>
|
||||
<li name="side4" class="sidebaritem4 hidden" onclick="switchSite('handelClass')"><img class="sideicon4" src="img/backpack/trading.svg"><p class="bartext">Handeln</p></li>
|
||||
<li name="side5" class="sidebaritem5 hidden" onclick="getTrade()"><img class="sideicon4" src="img/backpack/save-money.svg"><p class="bartext">Anfrage</p></li>
|
||||
<li name="side6" class="sidebaritem6 hidden" onclick="switchSite('backClass')"><img class="sideicon4" src="img/backpack/back.svg"><p class="bartext">Zurück</p></li>
|
||||
<li name="side5" class="sidebaritem5 hidden" onclick="getTrade()"><img class="sideicon4" src="img/backpack/save-money.svg"><p class="bartext">Anfrage</p></li> -->
|
||||
<li name="side6" class="sidebaritem6 hidden" onclick="switchSite('backClass')">
|
||||
<img class="sideicon4" src="img/backpack/back.svg"><p class="bartext">Zurück</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div name="backpackClass" class="backpack">
|
||||
<div class="main">
|
||||
<div class="Betrag" style="display:none;">
|
||||
<div class="Betrag" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id='tf_submitZahl' onclick="">Bestätigen</button>
|
||||
<button id='tf_cancle' onclick="">Schließen</button>
|
||||
<button id="tf_cancle" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahl" onclick="">Bestätigen</button>
|
||||
<img class="blueIcon1" src="img/backpack/trash2.svg"></img>
|
||||
</div>
|
||||
<div class="Betrag2" style="display:none;">
|
||||
</div>
|
||||
<div class="Betrag2" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
<input type="text" id="tf_zahl2" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_submitZahlToHandel" onclick="">Zum handeln transferieren</button>
|
||||
|
||||
<button id="tf_cancle2" onclick="">Schließen</button>
|
||||
<button id="tf_submitZahlToVehicle" onclick="">Zum Fahrzeug transferieren</button>
|
||||
<img class="blueIcon1" src="img/backpack/car.svg">
|
||||
<img class="blueIcon2" src="img/backpack/trading.svg">
|
||||
<img class="blueIcon1" src="img/backpack/car.svg"></img>
|
||||
</div>
|
||||
</div>
|
||||
<div class="title"><div class="titlecount"><span id="count1">0</span> / 40 Kilogramm</div><div class="titletext">Rucksack</div></div>
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count1">0</span> / 40 Kilogramm</div>
|
||||
<div class="titletext">Rucksack</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List0"></ul>
|
||||
</div>
|
||||
@@ -53,11 +61,17 @@
|
||||
|
||||
<div name="vehClass" class="veh hidden">
|
||||
<div class="main">
|
||||
<div class="title"><div class="titlecount"><span id="count2">0</span> / 250 Kilogramm</div><div class="titletext">Fahrzeug</div></div>
|
||||
<div class="Betrag4" style="display:none;">
|
||||
<input type="text" id="tf_zahl4" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id='tf_submitZahl4' onclick="">Zum Rucksack transferieren</button>
|
||||
<button id='tf_cancle4' onclick="">Schließen</button>
|
||||
<div class="title">
|
||||
<div class="titlecount"><span id="count2">0</span> / 250 Kilogramm</div>
|
||||
<div class="titletext">Fahrzeug</div>
|
||||
</div>
|
||||
<div class="Betrag4" style="display: none;">
|
||||
<div class="BoxBlue">
|
||||
|
||||
<img class="blueIcon1" src="img/backpack/backpack.svg">
|
||||
<button id="tf_cancle4" onclick="">Schließen</button><input type="text" id="tf_zahl4" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
<button id="tf_submitZahl4" onclick="">Zum Rucksack transferieren</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<ul id="List4"></ul>
|
||||
@@ -65,7 +79,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div name="handelClass" class="handel hidden">
|
||||
<!-- <div name="handelClass" class="handel hidden">
|
||||
<div class="main">
|
||||
<div class="Betrag3" style="display:none;">
|
||||
<input type="text" id="tf_zahl3" name="number" placeholder="Betrag eingeben" min="1" step="1" oninput="this.value=this.value.replace(/[^0-9]/g,'');">
|
||||
@@ -91,53 +105,16 @@
|
||||
<ul id="List3"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div id="invisible" style="display: none"></div>
|
||||
|
||||
<div id="invisible" style="display:none"></div>
|
||||
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
|
||||
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||
<script>
|
||||
var lastClass = "backpackClass";
|
||||
|
||||
var val = 0;
|
||||
|
||||
function changeTradeStatus(value) {
|
||||
val = JSON.parse(value);
|
||||
}
|
||||
|
||||
function getTrade() {
|
||||
if (val == 1) {
|
||||
switchSite('anfrageClass');
|
||||
}
|
||||
}
|
||||
|
||||
function getVehicle() {
|
||||
if (vehInv.length > 0) {
|
||||
switchSite('vehClass');
|
||||
} else {
|
||||
mp.trigger("Error", "Kofferraum leer oder kein Fahrzeug in der Nähe.")
|
||||
}
|
||||
}
|
||||
|
||||
$("#tf_acceptTrade").unbind('click').click(function () {
|
||||
if (anfrageInv.length > 0) {
|
||||
mp.trigger("CEF:acceptTrade");
|
||||
}
|
||||
});
|
||||
|
||||
$("#tf_submitTrade").unbind('click').click(function () {
|
||||
if (handelInv.length > 0) {
|
||||
var handelItemID = [];
|
||||
var handelItemAmount = [];
|
||||
for (i = 0; i < handelInv.length; i++) {
|
||||
handelItemID.push(handelInv[i].ID);
|
||||
handelItemAmount.push(handelInv[i].Amount);
|
||||
}
|
||||
mp.trigger("CEF:tradeItem", 0, JSON.stringify(String($('#tf_nameorid').val())), JSON.stringify(handelItemID), JSON.stringify(handelItemAmount))
|
||||
}
|
||||
});
|
||||
$("#tf_cancle4").unbind('click').click(function () {
|
||||
$(".Betrag4").hide();
|
||||
});
|
||||
@@ -151,20 +128,6 @@
|
||||
$(".Betrag2").hide();
|
||||
});
|
||||
|
||||
function setAnfrage(jsonIdArr, jsonAmountArr, jsonNameArr, jsonWeight) {
|
||||
var parsedIdArr = JSON.parse(jsonIdArr);
|
||||
var parsedAmountArr = JSON.parse(jsonAmountArr);
|
||||
var parsedNameArr = JSON.parse(jsonNameArr);
|
||||
var parsedWeight = JSON.parse(jsonWeight);
|
||||
for (var i = 0; i < parsedNameArr.length; i++) {
|
||||
var num = parsedAmountArr[i];
|
||||
var newItem = { Name: parsedNameArr[i], ID: parsedIdArr[i], Amount: num, Category: 3 };
|
||||
anfrageInv[i] = newItem;
|
||||
}
|
||||
$('#count4').html(parsedWeight / 1000);
|
||||
drawAnfrage();
|
||||
}
|
||||
|
||||
function switchSite(site) {
|
||||
if (site != lastClass) {
|
||||
if (site == "tradeClass") {
|
||||
@@ -203,111 +166,8 @@
|
||||
|
||||
$(document).ready(function () {
|
||||
mp.trigger('CEF:InventoryLoaded');
|
||||
mp.trigger('CEF:getNearVehicles');
|
||||
});
|
||||
|
||||
|
||||
function setItems(jsonName, jsonID, jsonAmount, nearPlayers) {
|
||||
var parsedName = JSON.parse(jsonName);
|
||||
var parsedID = JSON.parse(jsonID);
|
||||
var parsedAmount = JSON.parse(jsonAmount);
|
||||
for (var i = 0; i < parsedName.length; i++) {
|
||||
var num = parsedAmount[i];
|
||||
var newItem = { Name: parsedName[i], ID: parsedID[i], Amount: num, Category: 0 };
|
||||
rucksackInv[i] = newItem;
|
||||
}
|
||||
jsonInv = JSON.stringify(rucksackInv);
|
||||
ReceiveClientInformation(jsonInv);
|
||||
|
||||
var parsedPlayers = JSON.parse(nearPlayers);
|
||||
Players = parsedPlayers;
|
||||
for (var x = 0; x < parsedPlayers.length; x++) {
|
||||
$('.dropdown-content').append("<a value=" + x + ">" + parsedPlayers[x] + "</a>");
|
||||
}
|
||||
}
|
||||
var Players = [];
|
||||
function setWeight(jsonWeight) {
|
||||
var parsedWeight = JSON.parse(jsonWeight);
|
||||
$('#count1').html(parsedWeight / 1000);
|
||||
}
|
||||
|
||||
function setVehiclesInv(jsonVehInv) {
|
||||
var parsedVehInv = JSON.parse(jsonVehInv);
|
||||
vehInvItem.push(parsedVehInv);
|
||||
var vehicle = vehInvItem[0];
|
||||
for (i = 0; i < vehicle.ivehName.length; i++) {
|
||||
var newItem = { Name: vehicle.ivehName[i], ID: vehicle.ivehId[i], Amount: vehicle.ivehAmount[i], Category: 1 };
|
||||
vehInv.push(newItem);
|
||||
|
||||
}
|
||||
Origin.push(0);
|
||||
Origin.push(vehicle.ID);
|
||||
var jsonVehInv = JSON.stringify(vehInv);
|
||||
$('#count2').html(vehInvItem[0].currentWeight / 1000);
|
||||
RecieveVehicleInfo(jsonVehInv);
|
||||
}
|
||||
|
||||
|
||||
function RecieveVehicleInfo(json) {
|
||||
var parsed = JSON.parse(json);
|
||||
|
||||
for (var i = 0; i < parsed.length; i++) {
|
||||
var item = parsed[i];
|
||||
console.log(item);
|
||||
var quantity = parsed[i].Amount;
|
||||
var list = document.getElementById("List4");
|
||||
|
||||
var pictureElement = document.createElement("img");
|
||||
pictureElement.setAttribute("class", "sideicon15");
|
||||
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
|
||||
|
||||
var redButton = document.createElement("div");
|
||||
var redButtonImg = document.createElement("img");
|
||||
redButton.setAttribute("class", "red");
|
||||
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + ","+ i +");");
|
||||
redButtonImg.setAttribute("src", "img/backpack/trash.svg");
|
||||
redButtonImg.setAttribute("class", "redImg");
|
||||
redButton.appendChild(redButtonImg);
|
||||
|
||||
|
||||
var blueButton = document.createElement("div");
|
||||
var blueButtonImg = document.createElement("img");
|
||||
blueButton.setAttribute("class", "blue2");
|
||||
blueButton.setAttribute("onclick", "onAction(4," + item.ID + "," + item.Amount + ","+ i +");");
|
||||
blueButtonImg.setAttribute("src", "img/backpack/paper-plane.svg");
|
||||
blueButtonImg.setAttribute("class", "blueImg");
|
||||
blueButton.appendChild(blueButtonImg);
|
||||
|
||||
var listLength = list.length;
|
||||
|
||||
var row = 1;
|
||||
|
||||
if (listLength > 3) {
|
||||
row = 2;
|
||||
}
|
||||
if (listLength > 7) {
|
||||
row = 3;
|
||||
}
|
||||
if (listLength > 11) {
|
||||
row = 4;
|
||||
}
|
||||
if (listLength > 15) {
|
||||
row = 5;
|
||||
}
|
||||
if (listLength > 19) {
|
||||
row = 6;
|
||||
}
|
||||
|
||||
var Litem = document.createElement("li");
|
||||
Litem.setAttribute("class", "item" + row);
|
||||
Litem.appendChild(document.createTextNode(quantity + "x " + item.Name));
|
||||
Litem.appendChild(pictureElement);
|
||||
Litem.appendChild(redButton);
|
||||
Litem.appendChild(blueButton);
|
||||
list.appendChild(Litem);
|
||||
}
|
||||
}
|
||||
|
||||
var rucksackInv = [];
|
||||
var handelInv = [];
|
||||
var vehInv = [];
|
||||
@@ -316,73 +176,35 @@
|
||||
|
||||
var vehInvItem = [];
|
||||
|
||||
function ReceiveClientInformation(json) {
|
||||
var parsed = JSON.parse(json);
|
||||
rucksackInv = parsed;
|
||||
for (var i = 0; i < parsed.length; i++) {
|
||||
var item = parsed[i];
|
||||
item.Category = 0;
|
||||
console.log(item);
|
||||
var quantity = parsed[i].Amount;
|
||||
var list = document.getElementById("List" + item.Category);
|
||||
|
||||
var pictureElement = document.createElement("img");
|
||||
pictureElement.setAttribute("class", "sideicon15");
|
||||
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
|
||||
|
||||
var redButton = document.createElement("div");
|
||||
var redButtonImg = document.createElement("img");
|
||||
redButton.setAttribute("class", "red");
|
||||
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + "," + i + ");");
|
||||
redButtonImg.setAttribute("src", "img/backpack/trash.svg");
|
||||
redButtonImg.setAttribute("class", "redImg");
|
||||
redButton.appendChild(redButtonImg);
|
||||
|
||||
var greenButton = document.createElement("div");
|
||||
var greenButtonImg = document.createElement("img");
|
||||
greenButton.setAttribute("class", "green");
|
||||
greenButton.setAttribute("onclick", "onAction(0," + item.ID + "," + item.Amount + "," + i + ");");
|
||||
greenButtonImg.setAttribute("src", "img/backpack/use.svg");
|
||||
greenButtonImg.setAttribute("class", "greenImg");
|
||||
greenButton.appendChild(greenButtonImg);
|
||||
|
||||
var blueButton = document.createElement("div");
|
||||
var blueButtonImg = document.createElement("img");
|
||||
blueButton.setAttribute("class", "blue");
|
||||
blueButton.setAttribute("onclick", "onAction(2," + item.ID + "," + item.Amount + ", " + i + ");");
|
||||
blueButtonImg.setAttribute("src", "img/backpack/paper-plane.svg");
|
||||
blueButtonImg.setAttribute("class", "blueImg");
|
||||
blueButton.appendChild(blueButtonImg);
|
||||
|
||||
var listLength = list.length;
|
||||
|
||||
var row = 1;
|
||||
|
||||
if (listLength > 3) {
|
||||
row = 2;
|
||||
function setBackpackItems(jsonItemArr) {
|
||||
console.log(jsonItemArr);
|
||||
var parsedItemArr = JSON.parse(jsonItemArr)
|
||||
rucksackInv = [];
|
||||
for (var i = 0; i < parsedItemArr.length; i++) {
|
||||
var item = parsedItemArr[i];
|
||||
var newItem = { Name: item.Name, ID: item.ItemId, Amount: item.Amount, Category: 0 };
|
||||
rucksackInv.push(newItem);
|
||||
$('#count1').html(item.Weight / 1000);
|
||||
}
|
||||
if (listLength > 7) {
|
||||
row = 3;
|
||||
}
|
||||
if (listLength > 11) {
|
||||
row = 4;
|
||||
}
|
||||
if (listLength > 15) {
|
||||
row = 5;
|
||||
}
|
||||
if (listLength > 19) {
|
||||
row = 6;
|
||||
drawRucksack();
|
||||
}
|
||||
|
||||
var Litem = document.createElement("li");
|
||||
Litem.setAttribute("class", "item" + row);
|
||||
Litem.appendChild(document.createTextNode(quantity + "x " + item.Name));
|
||||
Litem.appendChild(pictureElement);
|
||||
Litem.appendChild(redButton);
|
||||
Litem.appendChild(greenButton);
|
||||
Litem.appendChild(blueButton);
|
||||
list.appendChild(Litem);
|
||||
function getVehicle() {
|
||||
mp.trigger("CEF:callVehicleInventory");
|
||||
}
|
||||
|
||||
function setVehicleItems(jsonItemArr) {
|
||||
var parsedItemArr = JSON.parse(jsonItemArr)
|
||||
vehInv = [];
|
||||
for (var i = 0; i < parsedItemArr.length; i++) {
|
||||
var item = parsedItemArr[i];
|
||||
var newItem = { Name: item.Name, ID: item.ItemId, Amount: item.Amount, Category: 0 };
|
||||
vehInv.push(newItem);
|
||||
$('#count2').html(item.Weight / 1000);
|
||||
}
|
||||
|
||||
switchSite('vehClass');
|
||||
drawVehicle();
|
||||
}
|
||||
|
||||
var clnc = 1;
|
||||
@@ -445,7 +267,7 @@
|
||||
var list = document.getElementById("alertbox");
|
||||
var Litem = document.createElement("div");
|
||||
Litem.setAttribute("class", "alert_blue");
|
||||
Litem.appendChild(document.createTextNode("Du hast " + amount + "x " + name + " ins "+transferInv+" transferiert."));
|
||||
Litem.appendChild(document.createTextNode("Du hast " + amount + "x " + name + " ins " + transferInv + " transferiert."));
|
||||
$(Litem).hide().appendTo(list).fadeIn(500);
|
||||
$(Litem).fadeIn(500);
|
||||
setTimeout(function () {
|
||||
@@ -459,7 +281,7 @@
|
||||
|
||||
var amount = JSON.parse(JsonAmount);
|
||||
var id = JSON.parse(JsonId);
|
||||
console.log("start : " + amount +" " + id);
|
||||
console.log("start : " + amount + " " + id);
|
||||
for (var i = 0; i < rucksackInv.length; i++) {
|
||||
console.log(i);
|
||||
if (rucksackInv[i].ID == id) {
|
||||
@@ -478,7 +300,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function onAction(action, id, ammount, i) {
|
||||
$(".Betrag").hide();
|
||||
|
||||
@@ -497,8 +318,6 @@
|
||||
mp.trigger("CEF:useItem", JSON.stringify("drop"), JSON.stringify(ammount), JSON.stringify(rucksackInv[i].ID))
|
||||
}
|
||||
$(".Betrag").hide();
|
||||
drawRucksack();
|
||||
drawVehicle();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
});
|
||||
@@ -507,209 +326,33 @@
|
||||
{
|
||||
$(".Betrag2").show();
|
||||
var Copy = Object.assign({}, rucksackInv[i]);
|
||||
$("#tf_submitZahlToHandel").unbind('click').click(function () {
|
||||
var y = parseInt($('#tf_zahl2').val(), 10);
|
||||
if ($('#tf_zahl2').val() < ammount && ammount > 0) {
|
||||
|
||||
for (x = 0; x < handelInv.length; x++) {
|
||||
if (handelInv[x].ID == Copy.ID) {
|
||||
handelInv[x].Amount += y;
|
||||
rucksackInv[i].Amount -= y;
|
||||
$(".Betrag2").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
handelInv.push(Copy);
|
||||
handelInv[handelInv.length - 1].Amount = y;
|
||||
handelInv[handelInv.length - 1].Category = 2;
|
||||
rucksackInv[i].Amount -= y;
|
||||
} else if ($('#tf_zahl2').val() >= ammount) {
|
||||
for (x = 0; x < handelInv.length; x++) {
|
||||
if (handelInv[x].ID == Copy.ID) {
|
||||
handelInv[x].Amount += y;
|
||||
rucksackInv.splice(i, 1);
|
||||
$(".Betrag2").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
handelInv.push(Copy);
|
||||
handelInv[handelInv.length - 1].Category = 2;
|
||||
rucksackInv.splice(i, 1);
|
||||
}
|
||||
$(".Betrag2").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
});
|
||||
$("#tf_submitZahlToVehicle").unbind('click').click(function () {
|
||||
if (Origin.length < 2) {
|
||||
$(".Betrag2").hide();
|
||||
drawVehicle();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
Origin[0] = 0;
|
||||
var y = parseInt($('#tf_zahl2').val(), 10);
|
||||
if ($('#tf_zahl2').val() < ammount && ammount > 0) {
|
||||
|
||||
for (x = 0; x < vehInv.length; x++) {
|
||||
if (vehInv[x].ID == Copy.ID) {
|
||||
vehInv[x].Amount += y;
|
||||
rucksackInv[i].Amount -= y;
|
||||
$(".Betrag2").hide();
|
||||
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(rucksackInv[i].ID), JSON.stringify(rucksackInv[i].Amount), JSON.stringify(y));
|
||||
drawVehicle();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
vehInv.push(Copy);
|
||||
vehInv[vehInv.length - 1].Amount = y;
|
||||
vehInv[vehInv.length - 1].Category = 2;
|
||||
rucksackInv[i].Amount -= y;
|
||||
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(rucksackInv[i].ID), JSON.stringify(rucksackInv[i].Amount), JSON.stringify(y));
|
||||
mp.trigger("CEF:backpackToVehicle", JSON.stringify(rucksackInv[i].ID), JSON.stringify(y));
|
||||
} else if ($('#tf_zahl2').val() >= ammount) {
|
||||
for (x = 0; x < vehInv.length; x++) {
|
||||
if (vehInv[x].ID == Copy.ID) {
|
||||
vehInv[x].Amount += y;
|
||||
rucksackInv.splice(i, 1);
|
||||
$(".Betrag2").hide();
|
||||
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
|
||||
drawVehicle();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
vehInv.push(Copy);
|
||||
vehInv[vehInv.length - 1].Category = 2;
|
||||
rucksackInv.splice(i, 1);
|
||||
mp.trigger("CEF:saveVehicleTransfer",0, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
|
||||
mp.trigger("CEF:backpackToVehicle", JSON.stringify(rucksackInv[i].ID), JSON.stringify(ammount));
|
||||
}
|
||||
$(".Betrag2").hide();
|
||||
drawVehicle();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
});
|
||||
}
|
||||
if (action == 3) {
|
||||
$(".Betrag3").show();
|
||||
var Copy = Object.assign({}, handelInv[i]);
|
||||
$("#tf_submitZahl3").unbind('click').click(function () {
|
||||
var y = parseInt($('#tf_zahl3').val(), 10);
|
||||
if ($('#tf_zahl3').val() < ammount && ammount > 0) {
|
||||
|
||||
for (x = 0; x < rucksackInv.length; x++) {
|
||||
if (rucksackInv[x].ID == Copy.ID) {
|
||||
rucksackInv[x].Amount += y;
|
||||
handelInv[i].Amount -= y;
|
||||
$(".Betrag3").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
rucksackInv.push(Copy);
|
||||
rucksackInv[rucksackInv.length - 1].Amount = y;
|
||||
rucksackInv[rucksackInv.length - 1].Category = 0;
|
||||
handelInv[i].Amount -= y;
|
||||
} else if ($('#tf_zahl3').val() >= ammount) {
|
||||
for (x = 0; x < rucksackInv.length; x++) {
|
||||
if (rucksackInv[x].ID == Copy.ID) {
|
||||
rucksackInv[x].Amount += ammount;
|
||||
handelInv.splice(i, 1);
|
||||
$(".Betrag3").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
rucksackInv.push(Copy);
|
||||
rucksackInv[rucksackInv.length - 1].Category = 0;
|
||||
handelInv.splice(i, 1);
|
||||
}
|
||||
$(".Betrag3").hide();
|
||||
drawHandel();
|
||||
drawRucksack();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
});
|
||||
}
|
||||
if (action == 4) {
|
||||
$(".Betrag4").show();
|
||||
var Copy = Object.assign({}, vehInv[i]);
|
||||
$("#tf_submitZahl4").unbind('click').click(function () {
|
||||
Origin[0] = 1;
|
||||
var y = parseInt($('#tf_zahl4').val(), 10);
|
||||
if ($('#tf_zahl4').val() < ammount && ammount > 0) {
|
||||
|
||||
for (x = 0; x < rucksackInv.length; x++) {
|
||||
if (rucksackInv[x].ID == Copy.ID) {
|
||||
rucksackInv[x].Amount += y;
|
||||
vehInv[i].Amount -= y;
|
||||
$(".Betrag2").hide();
|
||||
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(vehInv[i].Amount), JSON.stringify(y));
|
||||
drawRucksack();
|
||||
drawVehicle();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
}
|
||||
console.log(rucksackInv);
|
||||
rucksackInv.push(Copy);
|
||||
rucksackInv[rucksackInv.length - 1].Amount = y;
|
||||
rucksackInv[rucksackInv.length - 1].Category = 2;
|
||||
vehInv[i].Amount -= y;
|
||||
console.log(rucksackInv);
|
||||
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(vehInv[i].Amount), JSON.stringify(y));
|
||||
mp.trigger("CEF:vehicleToBackpack", JSON.stringify(vehInv[i].ID), JSON.stringify(y));
|
||||
} else if ($('#tf_zahl4').val() >= ammount) {
|
||||
for (x = 0; x < rucksackInv.length; x++) {
|
||||
if (rucksackInv[x].ID == Copy.ID) {
|
||||
rucksackInv[x].Amount += ammount;
|
||||
vehInv.splice(i, 1);
|
||||
$(".Betrag2").hide();
|
||||
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
|
||||
drawRucksack();
|
||||
drawVehicle();
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
return;
|
||||
}
|
||||
mp.trigger("CEF:vehicleToBackpack", JSON.stringify(vehInv[i].ID), JSON.stringify(ammount));
|
||||
}
|
||||
|
||||
rucksackInv.push(Copy);
|
||||
rucksackInv[rucksackInv.length - 1].Amount = ammount;
|
||||
rucksackInv[rucksackInv.length - 1].Category = 2;
|
||||
vehInv.splice(i, 1);
|
||||
mp.trigger("CEF:saveVehicleTransfer",1, JSON.stringify(Origin), JSON.stringify(Copy.ID), JSON.stringify(0), JSON.stringify(ammount));
|
||||
}
|
||||
$(".Betrag4").hide();
|
||||
|
||||
drawRucksack();
|
||||
drawVehicle();
|
||||
|
||||
event.preventDefault()
|
||||
event.stopPropagation()
|
||||
});
|
||||
@@ -736,7 +379,6 @@
|
||||
pictureElement.setAttribute("class", "sideicon15");
|
||||
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
|
||||
|
||||
|
||||
var blueButton = document.createElement("div");
|
||||
var blueButtonImg = document.createElement("img");
|
||||
blueButton.setAttribute("class", "blue3");
|
||||
@@ -878,16 +520,15 @@
|
||||
var redButton = document.createElement("div");
|
||||
var redButtonImg = document.createElement("img");
|
||||
redButton.setAttribute("class", "red");
|
||||
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + ","+ i +");");
|
||||
redButton.setAttribute("onclick", "onAction(1," + item.ID + "," + item.Amount + "," + i + ");");
|
||||
redButtonImg.setAttribute("src", "img/backpack/trash.svg");
|
||||
redButtonImg.setAttribute("class", "redImg");
|
||||
redButton.appendChild(redButtonImg);
|
||||
|
||||
|
||||
var blueButton = document.createElement("div");
|
||||
var blueButtonImg = document.createElement("img");
|
||||
blueButton.setAttribute("class", "blue2");
|
||||
blueButton.setAttribute("onclick", "onAction(4," + item.ID + "," + item.Amount + ","+ i +");");
|
||||
blueButton.setAttribute("onclick", "onAction(4," + item.ID + "," + item.Amount + "," + i + ");");
|
||||
blueButtonImg.setAttribute("src", "img/backpack/paper-plane.svg");
|
||||
blueButtonImg.setAttribute("class", "blueImg");
|
||||
blueButton.appendChild(blueButtonImg);
|
||||
@@ -943,7 +584,6 @@
|
||||
pictureElement.setAttribute("class", "sideicon15");
|
||||
pictureElement.setAttribute("src", "img/inventory/" + item.ID + ".svg");
|
||||
|
||||
|
||||
var listLength = list.length;
|
||||
|
||||
var row = 1;
|
||||
@@ -974,8 +614,6 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IEntity, IPlayer, IPlayerPool, IVehicle, IVehiclePool, VehicleSeat, EntityType } from "../../game";
|
||||
import { IEntity, IPlayer, IEntityAttachments, IEntityAttachmentPool, IPlayerPool, IVehicle, IVehiclePool, VehicleSeat, EntityType } from "../../game";
|
||||
import { parseJson } from "../../util";
|
||||
|
||||
class RageEntity implements IEntity {
|
||||
@@ -8,6 +8,10 @@ class RageEntity implements IEntity {
|
||||
return this.entity.id;
|
||||
}
|
||||
|
||||
get remoteId(): any {
|
||||
return this.entity.remoteId;
|
||||
}
|
||||
|
||||
constructor(entity: EntityMp) {
|
||||
this.entity = entity;
|
||||
}
|
||||
@@ -32,6 +36,8 @@ class RageEntity implements IEntity {
|
||||
|
||||
class RagePlayer extends RageEntity implements IPlayer {
|
||||
private player: PlayerMp;
|
||||
public __attachments: any[];
|
||||
public __attachmentObjects: any[];
|
||||
|
||||
get name(): string {
|
||||
return this.player.name;
|
||||
@@ -52,6 +58,78 @@ class RagePlayer extends RageEntity implements IPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
class RageAttachments implements IEntityAttachments {
|
||||
remoteId: any;
|
||||
public __attachments: any[];
|
||||
public __attachmentObjects: any[];
|
||||
|
||||
constructor(entity: IEntity, attachments: any[], attachmentObjects: any[]) {
|
||||
this.remoteId = entity.remoteId;
|
||||
this.__attachments = attachments;
|
||||
this.__attachmentObjects = attachmentObjects;
|
||||
}
|
||||
}
|
||||
|
||||
class RageEntityAttachmentPool implements IEntityAttachmentPool {
|
||||
public attachmentPool: IEntityAttachments[];
|
||||
remove(entity: IEntity) {
|
||||
for (let obj of this.attachmentPool.keys()) {
|
||||
if (entity.remoteId == this.attachmentPool[obj].remoteId) delete this.attachmentPool[obj];
|
||||
}
|
||||
}
|
||||
find(entity: EntityMp): IEntityAttachments {
|
||||
|
||||
for (let i of this.attachmentPool.keys()) {
|
||||
let pool = this.attachmentPool[i];
|
||||
for (let obj of pool.__attachmentObjects) {
|
||||
if (entity == obj) { return pool;}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
set(entity: IEntity, attachments: any[], attachmentObjects: any[]): IEntityAttachments {
|
||||
if (!this.attachmentPool) {
|
||||
let e = new RageAttachments(entity, attachments, attachmentObjects);
|
||||
this.attachmentPool = [];
|
||||
this.attachmentPool.push(e);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
for (let obj of this.attachmentPool.keys()) {
|
||||
if (entity.remoteId == this.attachmentPool[obj].remoteId) { this.remove(entity); }
|
||||
}
|
||||
let e = new RageAttachments(entity, attachments, attachmentObjects);
|
||||
this.attachmentPool.push(e);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
at(remoteId: any): IEntityAttachments {
|
||||
if (!this.attachmentPool) {
|
||||
return null;
|
||||
}
|
||||
|
||||
for (let obj of this.attachmentPool.keys()) {
|
||||
if (remoteId == this.attachmentPool[obj].remoteId) { return this.attachmentPool[obj]; }
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
get(entity: IEntity): IEntityAttachments {
|
||||
if (!this.attachmentPool) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
for (let obj of this.attachmentPool.keys()) {
|
||||
if (entity.remoteId == this.attachmentPool[obj].remoteId) { return this.attachmentPool[obj]; }
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
class RagePlayerPool implements IPlayerPool {
|
||||
get local(): IPlayer {
|
||||
return new RagePlayer(mp.players.local);
|
||||
@@ -111,14 +189,14 @@ class RageVehiclePool implements IVehiclePool {
|
||||
fn(new RageVehicle(e));
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
export {
|
||||
RageEntity,
|
||||
RagePlayer,
|
||||
RagePlayerPool,
|
||||
RageAttachments,
|
||||
RageEntityAttachmentPool,
|
||||
RageVehicle,
|
||||
RageVehiclePool,
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
import { IGame, IUi, IEvents, IPlayerPool, IVehiclePool } from "../../game";
|
||||
import { IGame, IUi, IEvents, IPlayerPool, IVehiclePool, IEntityAttachmentPool } from "../../game";
|
||||
import RageEvents from "./events";
|
||||
import RageUi from "./ui";
|
||||
import { RagePlayerPool, RageVehiclePool } from "./entities";
|
||||
import { RagePlayerPool, RageVehiclePool, RageEntityAttachmentPool } from "./entities";
|
||||
|
||||
export default class RageGame implements IGame {
|
||||
players: IPlayerPool = new RagePlayerPool();
|
||||
vehicles: IVehiclePool = new RageVehiclePool();
|
||||
|
||||
attachments: IEntityAttachmentPool = new RageEntityAttachmentPool();
|
||||
events: IEvents = new RageEvents;
|
||||
ui: IUi = new RageUi;
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
players: IPlayerPool;
|
||||
vehicles: IVehiclePool;
|
||||
attachments: IEntityAttachmentPool;
|
||||
|
||||
disableDefaultEngineBehaviour(): void;
|
||||
}
|
||||
@@ -41,6 +42,7 @@ interface IBrowser {
|
||||
|
||||
interface IEntity {
|
||||
id: number;
|
||||
remoteId: any;
|
||||
type: EntityType;
|
||||
getSharedData<T>(key: string): T;
|
||||
}
|
||||
@@ -51,6 +53,12 @@ interface IPlayer extends IEntity {
|
||||
vehicle: IVehicle;
|
||||
}
|
||||
|
||||
interface IEntityAttachments {
|
||||
remoteId: any;
|
||||
__attachments: any[];
|
||||
__attachmentObjects: any[];
|
||||
}
|
||||
|
||||
interface IVehicle extends IEntity {
|
||||
isSeatFree(seat: VehicleSeat): boolean;
|
||||
setEngineStatus(status: boolean, instantly: boolean, otherwise: boolean);
|
||||
@@ -69,8 +77,16 @@ interface IPlayerPool extends IEntityPool<IPlayer> {
|
||||
local: IPlayer;
|
||||
}
|
||||
|
||||
interface IVehiclePool extends IEntityPool<IVehicle> {
|
||||
interface IEntityAttachmentPool {
|
||||
attachmentPool: IEntityAttachments[];
|
||||
find(entity: EntityMp): IEntityAttachments;
|
||||
remove(entity: IEntity): void;
|
||||
set(entity: IEntity, attachments: any[], attachmentObjects: any[]): IEntityAttachments;
|
||||
at(handle: any): IEntityAttachments;
|
||||
get(entity: IEntity): IEntityAttachments;
|
||||
}
|
||||
|
||||
interface IVehiclePool extends IEntityPool<IVehicle> {
|
||||
}
|
||||
|
||||
enum EntityType {
|
||||
@@ -132,6 +148,8 @@ export {
|
||||
IBrowser,
|
||||
|
||||
IPlayer,
|
||||
IEntityAttachments,
|
||||
IEntityAttachmentPool,
|
||||
IVehicle,
|
||||
IEntity,
|
||||
IEntityPool,
|
||||
|
||||
@@ -221,6 +221,15 @@ taximeterInput(globalData);
|
||||
import refuseCollector from './Jobs/RefuseCollector';
|
||||
refuseCollector();
|
||||
|
||||
import PedCreator from './Ped/PedCreator';
|
||||
PedCreator();
|
||||
|
||||
import attachmentManager from './util/attachmentMngr';
|
||||
attachmentManager(game);
|
||||
|
||||
import relativeVector from './util/relativevector';
|
||||
relativeVector();
|
||||
|
||||
require('./Gui/policedepartment');
|
||||
|
||||
interface VehicleData {
|
||||
@@ -231,3 +240,5 @@ interface VehicleData {
|
||||
export {
|
||||
VehicleData
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,43 +1,31 @@
|
||||
|
||||
|
||||
export default function inventory(globalData: IGlobalData): void {
|
||||
|
||||
export default function inventory(globalData: IGlobalData): void {
|
||||
var invBrowser: BrowserMp = null;
|
||||
var itemIdArr;
|
||||
var itemAmountArr;
|
||||
var invWeight;
|
||||
var itemNameArr;
|
||||
var itemArr;
|
||||
var offerItemArr;
|
||||
var tradeItemArr;
|
||||
var vehItemArr;
|
||||
|
||||
var ivehArr;
|
||||
var loaded = false;
|
||||
|
||||
var Players;
|
||||
|
||||
mp.events.add('setVehiclesInventory', (vehInvArr) => {
|
||||
ivehArr = vehInvArr;
|
||||
invBrowser.execute(`setVehiclesInv('${JSON.stringify(ivehArr)}');`);
|
||||
});
|
||||
|
||||
mp.events.add('showVehInventory', () => {
|
||||
invBrowser.execute(`execVehInv();`);
|
||||
});
|
||||
var open = false;
|
||||
mp.events.add('inventoryShow', (iWeight, iNameArr, iAmountArr, iIdArr, playersArr) => {
|
||||
mp.events.add('inventoryShow', () => {
|
||||
if (invBrowser !== null) {
|
||||
invBrowser.destroy()
|
||||
invBrowser = null;
|
||||
globalData.InInput = false;
|
||||
loaded = false;
|
||||
mp.gui.cursor.show(false, false);
|
||||
return;
|
||||
}
|
||||
if (!globalData.InInput) {
|
||||
globalData.InInput = true;
|
||||
mp.gui.cursor.show(true, true);
|
||||
itemArr = [];
|
||||
vehItemArr = [];
|
||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||
Players = playersArr;
|
||||
itemIdArr = iIdArr;
|
||||
itemAmountArr = iAmountArr;
|
||||
itemNameArr = iNameArr;
|
||||
invWeight = iWeight;
|
||||
}
|
||||
});
|
||||
var offer = 0;
|
||||
@@ -55,22 +43,42 @@ export default function inventory(globalData: IGlobalData): void {
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("addTradeItems", (itemId, itemAmount, itemName, weight) => {
|
||||
tradeItemID = JSON.stringify(itemId);
|
||||
tradeItemAmount = JSON.stringify(itemAmount);
|
||||
tradeItemName = JSON.stringify(itemName);
|
||||
tradeItemWeight = JSON.stringify(weight);
|
||||
if (invBrowser != null)
|
||||
invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
|
||||
mp.events.addDataHandler("backpackItems", (entity: EntityMp, jsonItemArr) => {
|
||||
if (entity.handle != mp.players.local.handle) return;
|
||||
itemArr = JSON.parse(jsonItemArr);
|
||||
if (loaded)
|
||||
invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}',true)`);
|
||||
});
|
||||
|
||||
mp.events.add("CEF:saveVehicleTransfer", (val, jsonOrigin, jsonInvID, jsonInvAmount, jsonVehAmount) => {
|
||||
if (val == 0) {
|
||||
mp.events.callRemote('saveInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount);
|
||||
} else if(val == 1){
|
||||
mp.events.callRemote('saveVehicleInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount);
|
||||
mp.events.addDataHandler("vehicleItems", (entity: EntityMp, jsonItemArr) => {
|
||||
if (entity != mp.players.local) return;
|
||||
vehItemArr = JSON.parse(jsonItemArr);
|
||||
|
||||
if (loaded)
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
||||
});
|
||||
|
||||
mp.events.add("CEF:InventoryLoaded", () => {
|
||||
invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}')`);
|
||||
if (vehItemArr.length != 0) {
|
||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
||||
}
|
||||
|
||||
//invBrowser.execute(`setTradeItems('${JSON.stringify(tradeItemArr)}')`);
|
||||
//invBrowser.execute(`setOfferItems('${JSON.stringify(offerItemArr)}')`);
|
||||
loaded = true;
|
||||
});
|
||||
|
||||
mp.events.add("CEF:callVehicleInventory", () => {
|
||||
mp.events.callRemote("CLIENT:getVehicleInventory")
|
||||
});
|
||||
|
||||
mp.events.add("CEF:backpackToVehicle", (jsonItemId, jsonAmount) => {
|
||||
mp.events.callRemote('transferToVehicle', jsonItemId, jsonAmount);
|
||||
});
|
||||
|
||||
mp.events.add("CEF:vehicleToBackpack", (jsonItemId, jsonAmount) => {
|
||||
mp.events.callRemote('transferToBackpack', jsonItemId, jsonAmount);
|
||||
});
|
||||
|
||||
mp.events.add("CEF:useItem", (type, amount, id) => {
|
||||
@@ -112,22 +120,6 @@ export default function inventory(globalData: IGlobalData): void {
|
||||
});
|
||||
|
||||
|
||||
mp.events.add("CEF:InventoryLoaded", () => {
|
||||
if (offer == 1) {
|
||||
invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
|
||||
invBrowser.execute(`setAnfrage('${tradeItemID}','${tradeItemAmount}','${tradeItemName}','${tradeItemWeight}');`);
|
||||
}
|
||||
|
||||
invBrowser.execute(`setItems('${JSON.stringify(itemNameArr)}','${JSON.stringify(itemIdArr)}','${JSON.stringify(itemAmountArr)}','${JSON.stringify(Players)}');`);
|
||||
invBrowser.execute(`setWeight('${JSON.stringify(invWeight)}');`);
|
||||
});
|
||||
|
||||
|
||||
mp.events.add("CEF:getNearVehicles", () => {
|
||||
mp.events.callRemote('getNearVehicles');
|
||||
});
|
||||
|
||||
|
||||
mp.events.add("CEF:acceptTrade", () => {
|
||||
if (invBrowser !== null) {
|
||||
mp.events.callRemote('acceptTrade');
|
||||
@@ -135,7 +127,6 @@ export default function inventory(globalData: IGlobalData): void {
|
||||
invBrowser = null;
|
||||
mp.gui.cursor.show(false, false);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
mp.events.add("CEF:declineTrade", () => {
|
||||
@@ -169,5 +160,4 @@ export default function inventory(globalData: IGlobalData): void {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
@@ -1,7 +1,4 @@
|
||||
|
||||
|
||||
export default function gangwarHandle(globalData: IGlobalData) {
|
||||
|
||||
export default function gangwarHandle(globalData: IGlobalData) {
|
||||
function inside(point, vs) {
|
||||
let x = point[0],
|
||||
y = point[1];
|
||||
@@ -35,7 +32,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
};
|
||||
|
||||
var Gangturf = class {
|
||||
|
||||
name: string;
|
||||
id: number;
|
||||
range: number;
|
||||
@@ -70,7 +66,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
}
|
||||
|
||||
_setup(name, id, x, y, range, color, rot, owner, edit, vector, value) {
|
||||
|
||||
var self = this;
|
||||
self.name = name;
|
||||
self.id = id;
|
||||
@@ -127,7 +122,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
|
||||
loadArea() {
|
||||
var self = this;
|
||||
|
||||
self.blip = mp.game.ui.addBlipForRadius(self.x, self.y, 1, self.range);
|
||||
|
||||
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.blip, 5);
|
||||
@@ -137,7 +131,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
self._colshape = mp.colshapes.newCircle(self.x, self.y, self.range * 1.5);
|
||||
}
|
||||
render() {
|
||||
|
||||
var self = this;
|
||||
if (self._colshape) {
|
||||
if (self.edit == true) {
|
||||
@@ -151,11 +144,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
}
|
||||
//self.blip.setRotation(self.rotation);
|
||||
mp.game.invoke(Natives.SET_BLIP_ROTATION, self.blip, self.rotation);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (self._status == "attack" || self.edit == true) {
|
||||
if (self._colshape) {
|
||||
if (mp.game.gameplay.getDistanceBetweenCoords(mp.players.local.position.x, mp.players.local.position.y, 0, self.x, self.y, 0, true) < self.range * 1.5) {
|
||||
@@ -191,7 +181,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
mp.game.graphics.drawLine(bottom_left.x, bottom_left.y, i, top_left.x, top_left.y, i, 255, 0, 0, 255);
|
||||
}
|
||||
} else {
|
||||
|
||||
/*
|
||||
let a = 0;
|
||||
for (var i = z; i < z + 1; i += 0.001) {
|
||||
@@ -203,10 +192,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (self.isInsideArea()) {
|
||||
mp.game.graphics.drawText(self.name, [self.x, self.y, mp.players.local.position.z + 20], {
|
||||
font: 7,
|
||||
@@ -215,7 +202,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
outline: true,
|
||||
centre: true
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -233,10 +219,8 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
startGangWar() {
|
||||
var self = this;
|
||||
if (self._status == "normal") {
|
||||
@@ -287,7 +271,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
self.attackBlip = mp.game.ui.addBlipForCoord(self.x, self.y, 0);
|
||||
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 378);
|
||||
mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.attackBlip, false);
|
||||
|
||||
} else if (!bool) {
|
||||
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.attackBlip, 5);
|
||||
}
|
||||
@@ -310,7 +293,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
self.setLeaderColShape();
|
||||
mp.game.invoke(Natives.SET_BLIP_SPRITE, self.leaderBlip, 437);
|
||||
mp.game.invoke(Natives.SET_BLIP_AS_SHORT_RANGE, self.leaderBlip, false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,7 +305,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
visible: true,
|
||||
dimension: 0
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
isTurfArea(shape) {
|
||||
@@ -354,7 +335,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
mp.game.audio.playSoundFrontend(1, "Enter_Capture_Zone", "DLC_Apartments_Drop_Zone_Sounds", true);
|
||||
mp.game.graphics.stopScreenEffect("MinigameTransitionIn");
|
||||
mp.game.graphics.startScreenEffect("MinigameTransitionOut", 500, false);
|
||||
|
||||
}
|
||||
mp.events.callRemote("Gangarea:Enter", JSON.stringify(self.id));
|
||||
}
|
||||
@@ -525,7 +505,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
}
|
||||
clearBlips();
|
||||
if (turfs.length > 0) {
|
||||
|
||||
gangturfs = [];
|
||||
turfs.forEach(function (turf) {
|
||||
if (turf.Id != undefined) {
|
||||
@@ -543,7 +522,6 @@ export default function gangwarHandle(globalData: IGlobalData) {
|
||||
mp.events.add('ADMIN:SetTurf', (name) => {
|
||||
gangturfs[gangturfs.length - 1].edit = false;
|
||||
if (gangturfs[gangturfs.length - 1].id == -1) {
|
||||
|
||||
mp.events.callRemote("SERVER:SetTurf", JSON.stringify(gangturfs[gangturfs.length - 1].x), JSON.stringify(gangturfs[gangturfs.length - 1].y), JSON.stringify(gangturfs[gangturfs.length - 1].rotation), JSON.stringify(gangturfs[gangturfs.length - 1].range), name);
|
||||
}
|
||||
});
|
||||
|
||||
279
ReallifeGamemode.Client/util/attachmentMngr.ts
Normal file
279
ReallifeGamemode.Client/util/attachmentMngr.ts
Normal file
@@ -0,0 +1,279 @@
|
||||
import { IGame, EntityType } from "../game";
|
||||
import relativeVector from "./relativevector";
|
||||
|
||||
export default function attachmentManager(game: IGame) {
|
||||
mp.events.add("SERVER:LoadAttachments", () => {
|
||||
attachmentMngr.register("char_creator_1", "prop_beggers_sign_04", 28422, new mp.Vector3(0, 0, 0), new mp.Vector3(0, 0, 0));
|
||||
attachmentMngr.register("ammobox", "gr_prop_gr_crate_mag_01a", 28422, new mp.Vector3(0, -0.18, -0.18), new mp.Vector3(0, 0, 0));
|
||||
attachmentMngr.register("binbag", "prop_cs_rub_binbag_01", 28422, new mp.Vector3(0.08, 0.0, -0.03), new mp.Vector3(270.0, 0.0, 25.0));
|
||||
attachmentMngr.register("weapondeal", "ex_prop_crate_ammo_bc", "chassis_dummy", new mp.Vector3(0.08, -0.9, -0.2), new mp.Vector3(0, 0, 0));
|
||||
attachmentMngr.register("weapondeal1", "ex_office_swag_guns02", "chassis_dummy", new mp.Vector3(0, 0.8, 0), new mp.Vector3(0, 0, 0));
|
||||
attachmentMngr.register("weapondeal2", "w_sg_pumpshotgun", "weapondeal2w_sg_pumpshotgun", new mp.Vector3(0.4, 1.6, 0.62), new mp.Vector3(90, 0, 180));
|
||||
});
|
||||
|
||||
const attachmentMngr =
|
||||
{
|
||||
attachments: {},
|
||||
|
||||
addFor: function (entityRage, id) {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
|
||||
let e = game.attachments.get(entity);
|
||||
|
||||
if (this.attachments.hasOwnProperty(id)) {
|
||||
if (e.__attachmentObjects == undefined) { e.__attachmentObjects = []; }
|
||||
if (!e.__attachmentObjects.hasOwnProperty(id)) {
|
||||
let attInfo = this.attachments[id];
|
||||
let object = mp.objects.new(attInfo.model, entityRage.position);
|
||||
|
||||
object.attachTo(entityRage.handle,
|
||||
(typeof (attInfo.boneName) === 'string') ? entityRage.getBoneIndexByName(attInfo.boneName) : entityRage.getBoneIndex(attInfo.boneName),
|
||||
attInfo.offset.x, attInfo.offset.y, attInfo.offset.z,
|
||||
attInfo.rotation.x, attInfo.rotation.y, attInfo.rotation.z,
|
||||
false, false, false, false, 2, true);
|
||||
|
||||
e.__attachmentObjects[id] = object;
|
||||
}
|
||||
}
|
||||
else {
|
||||
mp.game.graphics.notify(`Static Attachments Error: ~r~Unknown Attachment Used: ~w~0x${id.toString(16)}`);
|
||||
}
|
||||
},
|
||||
|
||||
removeFor: function (entityRage, id) {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
let e = game.attachments.get(entity);
|
||||
|
||||
if (e.__attachmentObjects.hasOwnProperty(id)) {
|
||||
let obj = e.__attachmentObjects[id];
|
||||
|
||||
obj.destroy();
|
||||
delete e.__attachmentObjects[id];
|
||||
}
|
||||
},
|
||||
|
||||
initFor: function (entityRage) {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
|
||||
let e = game.attachments.get(entity);
|
||||
if (e != null) {
|
||||
for (let attachment of e.__attachments) {
|
||||
attachmentMngr.addFor(entityRage, attachment);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
shutdownFor: function (entityRage) {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
|
||||
let e = game.attachments.get(entity);
|
||||
if (e != null) {
|
||||
for (let attachment of e.__attachments) {
|
||||
attachmentMngr.removeFor(entityRage, attachment);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
register: function (id, model, boneName, offset, rotation) {
|
||||
if (typeof (id) === 'string') {
|
||||
id = mp.game.joaat(id);
|
||||
}
|
||||
|
||||
if (typeof (model) === 'string') {
|
||||
model = mp.game.joaat(model);
|
||||
}
|
||||
|
||||
if (!this.attachments.hasOwnProperty(id)) {
|
||||
if (mp.game.streaming.isModelInCdimage(model)) {
|
||||
this.attachments[id] =
|
||||
|
||||
{
|
||||
id: id,
|
||||
model: model,
|
||||
offset: offset,
|
||||
rotation: rotation,
|
||||
boneName: boneName
|
||||
};
|
||||
}
|
||||
else {
|
||||
mp.game.graphics.notify(`Static Attachments Error: ~r~Invalid Model(0x${model.toString(16)})`);
|
||||
}
|
||||
}
|
||||
else {
|
||||
mp.game.graphics.notify("Static Attachments Error: ~r~Duplicate Entry");
|
||||
}
|
||||
},
|
||||
|
||||
unregister: function (id) {
|
||||
if (typeof (id) === 'string') {
|
||||
id = mp.game.joaat(id);
|
||||
}
|
||||
|
||||
if (this.attachments.hasOwnProperty(id)) {
|
||||
this.attachments[id] = undefined;
|
||||
}
|
||||
},
|
||||
|
||||
addLocal: function (attachmentName) {
|
||||
if (typeof (attachmentName) === 'string') {
|
||||
attachmentName = mp.game.joaat(attachmentName);
|
||||
}
|
||||
|
||||
let entity = game.players.local;
|
||||
let e = game.attachments.get(entity);
|
||||
|
||||
if (!e.__attachments || e.__attachments.indexOf(attachmentName) === -1) {
|
||||
mp.events.callRemote("staticAttachments.Add", attachmentName.toString(36));
|
||||
}
|
||||
},
|
||||
|
||||
removeLocal: function (attachmentName) {
|
||||
if (typeof (attachmentName) === 'string') {
|
||||
attachmentName = mp.game.joaat(attachmentName);
|
||||
}
|
||||
|
||||
let entity = game.players.local;
|
||||
let e = game.attachments.get(entity);
|
||||
|
||||
if (e.__attachments && e.__attachments.indexOf(attachmentName) !== -1) {
|
||||
mp.events.callRemote("staticAttachments.Remove", attachmentName.toString(36));
|
||||
}
|
||||
},
|
||||
|
||||
getAttachments: function () {
|
||||
return Object.assign({}, this.attachments);
|
||||
}
|
||||
};
|
||||
|
||||
mp.events.add("entityStreamIn", (entityRage) => {
|
||||
if (entityRage.type === "player" || entityRage.type === "vehicle") {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
let e = game.attachments.get(entity);
|
||||
if (e != null) {
|
||||
if (e.__attachments) {
|
||||
game.wait(5000);
|
||||
attachmentMngr.initFor(entityRage);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.add("entityStreamOut", (entityRage) => {
|
||||
if (entityRage == mp.players.local.vehicle) { mp.gui.chat.push("lol"); return; }
|
||||
if (entityRage.type === "player" || entityRage.type === "vehicle") {
|
||||
let e = game.attachments.at(entityRage.remoteId);
|
||||
|
||||
if (e != null) {
|
||||
if (e.__attachmentObjects) {
|
||||
//game.wait(2500);
|
||||
attachmentMngr.shutdownFor(entityRage);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mp.events.addDataHandler("attachmentsData", (entityRage, data) => {
|
||||
let newAttachments = (data != null) ? data.split('|').map(att => parseInt(att, 36)) : [];
|
||||
|
||||
if (entityRage.handle !== 0) {
|
||||
let entity;
|
||||
if (entityRage.type === "player") {
|
||||
entity = game.players.at(entityRage.remoteId);
|
||||
} else if (entityRage.type === "vehicle") {
|
||||
entity = game.vehicles.at(entityRage.remoteId);
|
||||
}
|
||||
let e = game.attachments.get(entity);
|
||||
if (e == null) {
|
||||
let __attachments = [];
|
||||
let __attachmentObjects = [];
|
||||
e = game.attachments.set(entity, __attachments, __attachmentObjects);
|
||||
}
|
||||
|
||||
let oldAttachments = e.__attachments;
|
||||
|
||||
if (!oldAttachments) {
|
||||
oldAttachments = [];
|
||||
e.__attachmentObjects = [];
|
||||
}
|
||||
|
||||
// process outdated first
|
||||
for (let attachment of oldAttachments.keys()) {
|
||||
var obj = oldAttachments[attachment];
|
||||
if (newAttachments.indexOf(obj) === -1) {
|
||||
attachmentMngr.removeFor(entityRage, obj);
|
||||
}
|
||||
}
|
||||
|
||||
// then new attachments
|
||||
for (let attachment of newAttachments) {
|
||||
if (oldAttachments.indexOf(attachment) === -1) {
|
||||
attachmentMngr.addFor(entityRage, attachment);
|
||||
}
|
||||
}
|
||||
e.__attachments = newAttachments;
|
||||
}
|
||||
});
|
||||
|
||||
function InitAttachmentsOnJoin() {
|
||||
game.players.forEach(_player => {
|
||||
let player = mp.players.at(_player.remoteId);
|
||||
let e = game.attachments.get(_player);
|
||||
if (e == null) {
|
||||
let __attachments = [];
|
||||
let __attachmentObjects = [];
|
||||
e = game.attachments.set(_player, __attachments, __attachmentObjects);
|
||||
}
|
||||
let data = player.getVariable("attachmentsData");
|
||||
|
||||
if (data && data.length > 0) {
|
||||
let atts = data.split('|').map(att => parseInt(att, 36));
|
||||
e.__attachments = atts;
|
||||
e.__attachmentObjects = [];
|
||||
}
|
||||
});
|
||||
|
||||
game.vehicles.forEach(_veh => {
|
||||
let vehicle = mp.vehicles.at(_veh.remoteId);
|
||||
let e = game.attachments.get(_veh);
|
||||
if (e == null) {
|
||||
let __attachments = [];
|
||||
let __attachmentObjects = [];
|
||||
e = game.attachments.set(_veh, __attachments, __attachmentObjects);
|
||||
}
|
||||
let data = vehicle.getVariable("attachmentsData");
|
||||
|
||||
if (data && data.length > 0) {
|
||||
let atts = data.split('|').map(att => parseInt(att, 36));
|
||||
e.__attachments = atts;
|
||||
e.__attachmentObjects = [];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
InitAttachmentsOnJoin();
|
||||
}
|
||||
28
ReallifeGamemode.Client/util/relativevector.ts
Normal file
28
ReallifeGamemode.Client/util/relativevector.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
export default function relativeVector() {
|
||||
mp.events.add("SERVER:setMarkerBehindVehicle", (vehicle: EntityMp) => {
|
||||
var boneIndex2 = vehicle.getBoneIndexByName("platelight");
|
||||
var boneIndex1 = vehicle.getBoneIndexByName("chassis_dummy");
|
||||
|
||||
let posPlate = vehicle.getWorldPositionOfBone(boneIndex2);
|
||||
let posCentre = vehicle.getWorldPositionOfBone(boneIndex1);
|
||||
|
||||
let plateVec = new mp.Vector3(posPlate.x, posPlate.y, posPlate.z);
|
||||
let lightVec = new mp.Vector3(posCentre.x, posCentre.y, posCentre.z);
|
||||
|
||||
let posPL = lightVec.subtract(plateVec);
|
||||
|
||||
let temp = new mp.Vector3(posPL.x * -1, posPL.y * -1, posPL.z * -1)
|
||||
|
||||
let length = Math.sqrt((temp.x * temp.x) + (temp.y * temp.y) + (temp.z * temp.z));
|
||||
|
||||
let x = temp.x / length;
|
||||
let y = temp.y / length;
|
||||
let z = temp.z / length;
|
||||
|
||||
temp = new mp.Vector3(x, y, z - 1);
|
||||
|
||||
let pos = plateVec.add(temp);
|
||||
|
||||
mp.events.callRemote("CLIENT:setMarkerBehindVehicle", JSON.stringify(vehicle.remoteId), JSON.stringify(pos.x), JSON.stringify(pos.y), JSON.stringify(pos.z));
|
||||
});
|
||||
}
|
||||
@@ -21,5 +21,6 @@ namespace ReallifeGamemode.Database.Entities.Saves
|
||||
public float Heading { get; set; }
|
||||
public byte Dimension { get; set; }
|
||||
public bool Active { get; set; }
|
||||
public int Type { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace ReallifeGamemode.Database.Entities
|
||||
public float Range { get; set; }
|
||||
public int Color { get; set; }
|
||||
public string Vector { get; set; } = null;
|
||||
public int Value {get; set;} = 0;
|
||||
public int Value { get; set; } = 0;
|
||||
public int MaxValue { get; set; } = 0;
|
||||
public bool Surplus { get; set; } = false;
|
||||
|
||||
|
||||
1447
ReallifeGamemode.Database/Migrations/20200407014500_PedType.Designer.cs
generated
Normal file
1447
ReallifeGamemode.Database/Migrations/20200407014500_PedType.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace ReallifeGamemode.Database.Migrations
|
||||
{
|
||||
public partial class PedType : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "Type",
|
||||
table: "Peds",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Type",
|
||||
table: "Peds");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1017,6 +1017,8 @@ namespace ReallifeGamemode.Database.Migrations
|
||||
b.Property<float>("PositionZ")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<int>("Type");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Peds");
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace ReallifeGamemode.Server.Core.Commands
|
||||
|
||||
logger.LogInformation("Player '{Name}' executed command '{command}'", player.Name, command);
|
||||
|
||||
if(legacyCommands.Contains(command))
|
||||
if (legacyCommands.Contains(command))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
class AirplaneDealerBusiness : CarDealerBusinessBase
|
||||
internal class AirplaneDealerBusiness : CarDealerBusinessBase
|
||||
{
|
||||
|
||||
public override int Id => 7;
|
||||
|
||||
public override string Name => "Flugzeug Shop";
|
||||
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override string BankAccountName => Name;
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
class BeachDealerBusiness : CarDealerBusinessBase
|
||||
internal class BeachDealerBusiness : CarDealerBusinessBase
|
||||
{
|
||||
|
||||
public override int Id => 9;
|
||||
|
||||
public override string Name => "Beach Shop";
|
||||
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using GTANetworkAPI;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -86,7 +86,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
NAPI.Util.ConsoleOutput("Creating Bank Account for Business: " + Name);
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
dbContext.BusinessBankAccounts.Add(new BusinessBankAccount()
|
||||
{
|
||||
BusinessId = Id,
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using GTANetworkAPI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -21,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
class LastTrainDealerBusiness : CarDealerBusinessBase
|
||||
internal class LastTrainDealerBusiness : CarDealerBusinessBase
|
||||
{
|
||||
|
||||
public override int Id => 10;
|
||||
|
||||
public override string Name => "Last Train Carshop";
|
||||
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
class SUVDealerBusiness : CarDealerBusinessBase
|
||||
internal class SUVDealerBusiness : CarDealerBusinessBase
|
||||
{
|
||||
|
||||
public override int Id => 11;
|
||||
|
||||
public override string Name => "SUV Carshop";
|
||||
@@ -22,7 +18,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -15,7 +12,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -15,7 +12,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Business
|
||||
{
|
||||
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.Business
|
||||
|
||||
public override void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Classes
|
||||
namespace ReallifeGamemode.Server.Classes
|
||||
{
|
||||
public class TempBlip
|
||||
{
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Business;
|
||||
using System.Text.RegularExpressions;
|
||||
using ReallifeGamemode.Server.Classes;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
using ReallifeGamemode.Server.Job;
|
||||
using ReallifeGamemode.Server.Finance;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Services;
|
||||
using ReallifeGamemode.Server.Business;
|
||||
using ReallifeGamemode.Server.Classes;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
using ReallifeGamemode.Server.Finance;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Job;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
using ReallifeGamemode.Services;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Admin Commands (Admin.cs)
|
||||
@@ -32,8 +31,8 @@ namespace ReallifeGamemode.Server.Commands
|
||||
{
|
||||
public class AdminCommands : Script
|
||||
{
|
||||
|
||||
#region Todo
|
||||
|
||||
[Command("eat", "~m~Benutzung: ~s~/eat [Item]")]
|
||||
public void CmdAdminEat(Player player, string item)
|
||||
{
|
||||
@@ -126,8 +125,10 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(player, msg);
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion Todo
|
||||
|
||||
#region ahelp
|
||||
|
||||
[Command("ahelp", "~m~Benutzung: ~s~/ahelp")]
|
||||
public void CmdAdminHelp(Player player)
|
||||
{
|
||||
@@ -143,27 +144,33 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case AdminLevel.MAPPING:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
|
||||
break;
|
||||
|
||||
case AdminLevel.ENTWICKLUNG:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position");
|
||||
break;
|
||||
|
||||
case AdminLevel.SUPPORTER:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
break;
|
||||
|
||||
case AdminLevel.ADMIN:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
break;
|
||||
|
||||
case AdminLevel.ADMIN2:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
break;
|
||||
|
||||
case AdminLevel.ADMIN3:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
ChatService.SendMessage(player, "~b~ " + "/sethp, /setarmor, /arevive, /aunjail, /aclear, /clothes, /props");
|
||||
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
|
||||
break;
|
||||
|
||||
case AdminLevel.HEADADMIN:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
@@ -171,6 +178,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(player, "~b~ " + "/adice, /settime, /setweather, /rsetarmor, /rgiveweapon, /giveweapon, /veh, /fv, /vfix, /vdestroy, /vlivery, /vcolor, /vehsmoke, /aneon, /mod, /showtuningmenu, /rvdestroy, /vsethp");
|
||||
ChatService.SendMessage(player, "~b~ " + "/aspeed, /set, /setmoney, /givemoney, /sethandmoney, /givehandmoney, /paydaydrop, /setwage, /freekh, /ainvite, /makeleader, /managefactionranks, /setweaponrack, /rmweaponrack, /setweaponrank, /giveitem, /inventory, /save, /remove, /house, /setbusinessbankbalance, /reloaddors, /interior, /editmode, /setbliptemplate, /ipl, /load, /quicksavemode, /createturf, /setturf, /cancleturf, /reloadturfs, /deleteturfs, /setturfpoint");
|
||||
break;
|
||||
|
||||
case AdminLevel.PROJEKTLEITUNG:
|
||||
ChatService.SendMessage(player, "~b~ " + "/team, /tc, /position, /tsupport, /showtickets, /rc, /rc quit, /o, /pm, /dimension, /to, /gh, /clearchat, /skick");
|
||||
ChatService.SendMessage(player, "~b~ " + "/a, /countdown, /freeze, /unfreeze, /mark, /gotmark, /gotox, /up, /setdimension, /spec, /warn, /ip, /kick, /ban /unban, /slap, /takeweapon, /tov, /ghv, /factionlist, /businesslist, /joblist");
|
||||
@@ -181,12 +189,9 @@ namespace ReallifeGamemode.Server.Commands
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
#endregion ahelp
|
||||
|
||||
#region Mapping / Entwicklung
|
||||
|
||||
@@ -234,9 +239,10 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(player, "Position: X Y Z: " + player.Position + " Richtung: " + player.Heading);
|
||||
}
|
||||
|
||||
#endregion Mapping / Entwicklung
|
||||
|
||||
#endregion
|
||||
#region Support
|
||||
|
||||
[Command("tsupport", "~m~Benutzung: ~s~/tsupport", Alias = "ts")]
|
||||
public void CmdAdminTSupport(Player player)
|
||||
{
|
||||
@@ -269,12 +275,15 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case null:
|
||||
player.SetSharedData("blipColor", 0);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
player.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
player.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
player.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
@@ -456,7 +465,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion Support
|
||||
|
||||
#region ALevel1
|
||||
|
||||
@@ -501,9 +510,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.BroadcastAdmin("!{#1db992}** AC " + player.Name + ":~w~ " + message, AdminLevel.ADMIN);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[Command("gotolist", "~m~Benutzung: ~s~/gotolist")] //TODO Als Browser anzeigeN??
|
||||
public void CmdAdminGotoList(Player player)
|
||||
{
|
||||
@@ -850,7 +856,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.Entity.SetEntityVelocity(player.Vehicle, new Vector3());
|
||||
}
|
||||
else player.Position = new Vector3(p.X, p.Y, p.Z);
|
||||
|
||||
}
|
||||
}
|
||||
[Command("destroyped", "~m~Benutzung: ~s~/destroyped [PedNr]")]
|
||||
@@ -1033,7 +1038,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
else player.Position = new Vector3(x, y, z);
|
||||
}
|
||||
|
||||
|
||||
[Command("slap", "~m~Benutzung: ~s~/slap [Spieler] (Höhe)")]
|
||||
public void CmdAdminSlap(Player player, string name, int wert = 5)
|
||||
{
|
||||
@@ -1165,8 +1169,10 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion ALevel1
|
||||
|
||||
#region ALevel2
|
||||
|
||||
[Command("sethp", "~m~Benutzung: ~s~/sethp [Spieler] (Hp)")]
|
||||
public void CmdAdminSetHp(Player player, string name, int hp = 100)
|
||||
{
|
||||
@@ -1326,7 +1332,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
[Command("aclear", "~m~Benutzung: ~s~/aclear [Spieler] [Grund]", GreedyArg = true)]
|
||||
public void CmdFactionClear(Player player, string nameOrId, string reason)
|
||||
{
|
||||
|
||||
User user = player.GetUser();
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN2) ?? true)
|
||||
{
|
||||
@@ -1356,12 +1361,15 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case null:
|
||||
target.SetSharedData("blipColor", 0);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
target.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
target.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
target.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
@@ -1372,7 +1380,9 @@ namespace ReallifeGamemode.Server.Commands
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion ALevel2
|
||||
|
||||
#region ALevel3
|
||||
|
||||
[Command("adice", "~m~Benutzung: ~s~/adice [Zahl]")]
|
||||
@@ -1734,7 +1744,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
TimeManager.PauseTimeManager(new TimeSpan(hour, min, sec));
|
||||
NAPI.World.SetTime(hour, min, sec);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
[Command("setweather", "~m~Benutzung: ~s~/setweather [Wetter]")]
|
||||
@@ -1797,7 +1806,8 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion ALevel3
|
||||
|
||||
#region ALevel1337
|
||||
[Command("wepmod", "~m~Benutzung: ~s~/wepmod [Variable]")]
|
||||
public void CmdWeaponModifier(Player player, float modifier)
|
||||
@@ -1815,7 +1825,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
public void CmdAdminGotocp(Player admin)
|
||||
{
|
||||
admin.TriggerEvent("getCP");
|
||||
|
||||
}
|
||||
|
||||
[RemoteEvent("sendCP")]
|
||||
@@ -1922,7 +1931,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
else
|
||||
{
|
||||
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
|
||||
InventoryManager.AddItemToInventory(target, item);
|
||||
InventoryManager.AddItemToInventory(target, item.ItemId, item.Amount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1968,7 +1977,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
player.SendNotification("Edit-Mode ~r~deaktiviert");
|
||||
player.TriggerEvent("toggleEditMode", false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Command("setbliptemplate", "~m~Benutzung: ~s~/setbliptemplate [byte COLOR] [byte ALPHA] [bool SHORTRANGE] [uint SPRITE] [float SCALE] [string NAME]", GreedyArg = true)]
|
||||
@@ -2108,16 +2116,18 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case null:
|
||||
target.SetSharedData("blipColor", 0);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
target.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
target.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
target.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
|
||||
}
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
@@ -2166,16 +2176,18 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case null:
|
||||
target.SetSharedData("blipColor", 0);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
target.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
target.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
target.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
dbContext.SaveChanges();
|
||||
@@ -2196,6 +2208,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case "blip":
|
||||
player.TriggerEvent("saveBlip");
|
||||
break;
|
||||
|
||||
case "goto":
|
||||
if (option1 == null)
|
||||
{
|
||||
@@ -2217,10 +2230,10 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(player, "Einen Goto-Punkt mit dieser Bezeichnung gibt es schon!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case "vehicle":
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
@@ -2233,6 +2246,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
|
||||
break;
|
||||
|
||||
case "fvehicle":
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
@@ -2271,6 +2285,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
else ChatService.SendMessage(player, "~m~Du sitzt in keinem Fahrzeug!");
|
||||
break;
|
||||
|
||||
case "jvehicle":
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
@@ -2469,6 +2484,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
|
||||
#region loadCommand
|
||||
|
||||
[Command("load", "~m~Benutzung: ~s~/load [Typ = OnlineBunkers, ArcadiusBusinessCentre, MazeBankBuilding, LomBank, MazeBankWest, ClubWareHouse, SpecialLocations, GRHYacht, DHYacht, PYacht, AircraftCarrier, BridgeTC, BridgeTN, NorthYankton, ONeilsFarmB, ONeilsFarm, Morgue")]
|
||||
public void CmdAdminloadlocation(Player player, string typ)
|
||||
{
|
||||
@@ -2495,6 +2511,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("gr_case4_bunkerclosed");
|
||||
ChatService.SendMessage(player, "~y~ Online Bunkers~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "ArcadiusBusinessCentre":
|
||||
NAPI.World.RequestIpl("ex_dt1_02_office_02b");
|
||||
NAPI.World.RequestIpl("ex_dt1_02_office_02c");
|
||||
@@ -2511,6 +2528,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("imp_dt1_02_modgarage");
|
||||
ChatService.SendMessage(player, "~y~ Arcadius Business Centre~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "MazeBankBuilding":
|
||||
NAPI.World.RequestIpl("ex_dt1_11_office_02b");
|
||||
NAPI.World.RequestIpl("ex_dt1_11_office_02c");
|
||||
@@ -2527,6 +2545,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("imp_dt1_11_modgarage");
|
||||
ChatService.SendMessage(player, "~y~ Maze Bank Building~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "LomBank":
|
||||
NAPI.World.RequestIpl("ex_sm_13_office_02b");
|
||||
NAPI.World.RequestIpl("ex_sm_13_office_02c");
|
||||
@@ -2543,6 +2562,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("imp_sm_13_modgarage");
|
||||
ChatService.SendMessage(player, "~y~Lom Bank~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "MazeBankWest":
|
||||
NAPI.World.RequestIpl("ex_sm_15_office_02b");
|
||||
NAPI.World.RequestIpl("ex_sm_15_office_02c");
|
||||
@@ -2559,6 +2579,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("imp_sm_15_modgarage");
|
||||
ChatService.SendMessage(player, "~y~Maze Bank West~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "ClubWareHouse":
|
||||
NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_0_biker_dlc_int_01_milo");
|
||||
NAPI.World.RequestIpl("bkr_biker_interior_placement_interior_1_biker_dlc_int_02_milo");
|
||||
@@ -2574,6 +2595,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("bkr_bi_hw1_13_int");
|
||||
ChatService.SendMessage(player, "~y~Clubs & Warehouses~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "SpecialLocations":
|
||||
NAPI.World.RequestIpl("cargoship");
|
||||
NAPI.World.RequestIpl("sunkcargoship");
|
||||
@@ -2590,6 +2612,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("FIBlobby");
|
||||
ChatService.SendMessage(player, "~y~Special Locations~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "GRHYacht":
|
||||
NAPI.World.RequestIpl("gr_heist_yacht2");
|
||||
NAPI.World.RequestIpl("gr_heist_yacht2_bar");
|
||||
@@ -2599,6 +2622,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("gr_heist_yacht2_lounge");
|
||||
ChatService.SendMessage(player, "~y~Gunrunning heist Yacht~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "DHYacht":
|
||||
NAPI.World.RequestIpl("hei_yacht_heist");
|
||||
NAPI.World.RequestIpl("hei_yacht_heist_enginrm");
|
||||
@@ -2610,11 +2634,13 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("hei_yacht_heist_LODLights");
|
||||
ChatService.SendMessage(player, "~y~Dignity heist Yacht~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "PYacht":
|
||||
NAPI.World.RequestIpl("smboat");
|
||||
NAPI.World.RequestIpl("smboat_lod");
|
||||
ChatService.SendMessage(player, "~y~Party Yacht~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "AircraftCarrier":
|
||||
NAPI.World.RequestIpl("hei_carrier");
|
||||
NAPI.World.RequestIpl("hei_carrier_DistantLights");
|
||||
@@ -2627,16 +2653,19 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("hei_carrier_LODLights");
|
||||
ChatService.SendMessage(player, "~y~Aircraft Carrier~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "BridgeTC":
|
||||
NAPI.World.RequestIpl("canyonriver01_traincrash");
|
||||
NAPI.World.RequestIpl("canyonriver01_traincrash");
|
||||
ChatService.SendMessage(player, "~y~Bridge Train Crash~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "BridgeTN":
|
||||
NAPI.World.RequestIpl("canyonriver01");
|
||||
NAPI.World.RequestIpl("railing_start");
|
||||
ChatService.SendMessage(player, "~y~Bridge Train Normal~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "NorthYankton":
|
||||
NAPI.World.RequestIpl("prologue01");
|
||||
NAPI.World.RequestIpl("prologue01c");
|
||||
@@ -2671,6 +2700,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("prologuerdb");
|
||||
ChatService.SendMessage(player, "~y~North Yankton~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "ONeilsFarmB":
|
||||
NAPI.World.RequestIpl("farmint");
|
||||
NAPI.World.RequestIpl("farm_burnt");
|
||||
@@ -2679,21 +2709,23 @@ namespace ReallifeGamemode.Server.Commands
|
||||
NAPI.World.RequestIpl("des_farmhs_end_occl");
|
||||
ChatService.SendMessage(player, "~y~ONeils Farm Burnt~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "ONeilsFarm":
|
||||
NAPI.World.RequestIpl("farm");
|
||||
NAPI.World.RequestIpl("farm_props");
|
||||
NAPI.World.RequestIpl("farm_int");
|
||||
ChatService.SendMessage(player, "~y~ONeils Farm~s~ erfolgreich geladen!");
|
||||
break;
|
||||
|
||||
case "Morgue":
|
||||
NAPI.World.RequestIpl("coronertrash");
|
||||
NAPI.World.RequestIpl("Coroner_Int_On");
|
||||
ChatService.SendMessage(player, "~y~Morgue~s~ erfolgreich geladen!");
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion loadCommand
|
||||
|
||||
//
|
||||
[Command("managefactionranks", "~m~Benutzung: ~s~/managefactionranks [Fraktions-ID]", Alias = "mfr")]
|
||||
@@ -2964,7 +2996,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
// return;
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
|
||||
[Command("reloaddoors", "~m~Benutzung: ~s~/reloaddoors")]
|
||||
@@ -3079,7 +3110,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
dbContext.SaveChanges();
|
||||
ChatService.SendMessage(player, "Waffeneintrag bearbeitet für die Fraktion " + f.Name + ": " + weaponModel + ", SlotId: " + slotId);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
FactionWeapon fw2 = dbContext.FactionWeapons.FirstOrDefault(w => w.FactionId == factionID && w.WeaponModel == weaponModel);
|
||||
@@ -3105,7 +3135,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Command("rmweaponrack", "~m~Benutzung: ~s~/rmweaponrack [Fraktion ID] [Waffen Model]")]
|
||||
public void CmdAdminRmWeaponrack(Player player, int factionID, string weaponModel)
|
||||
{
|
||||
@@ -3267,9 +3296,11 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
player.TriggerEvent("ADMIN:Turf_CreateLeaderBlip");
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion ALevel1337
|
||||
|
||||
#region ALevel1338
|
||||
|
||||
[Command("whitelist", "~m~Benutzung: ~s~/whitelist [Add / Remove] [Socialclub Name]")]
|
||||
public void CmdAdminWhitelist(Player player, string option, string scName)
|
||||
{
|
||||
@@ -3374,6 +3405,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.SendMessage(target, "~b~[ADMIN]~s~ Du wurdest durch ~y~" + player.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt.");
|
||||
ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du hast ~y~" + target.Name + " ~s~auf Adminlevel ~y~" + target.GetUser().AdminLevel.GetName() + " ~y~(" + rank + ") ~s~gesetzt.");
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion ALevel1338
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using GTANetworkAPI;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
@@ -6,11 +9,7 @@ using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
using ReallifeGamemode.Services;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Faction Commands (Faction.cs)
|
||||
@@ -20,7 +19,7 @@ using System.Text.RegularExpressions;
|
||||
|
||||
namespace ReallifeGamemode.Server.Commands
|
||||
{
|
||||
class FactionCommands : Script
|
||||
internal class FactionCommands : Script
|
||||
{
|
||||
#region Chat Commands
|
||||
|
||||
@@ -74,8 +73,11 @@ namespace ReallifeGamemode.Server.Commands
|
||||
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion Chat Commands
|
||||
|
||||
#region Leader Commands
|
||||
|
||||
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
||||
public void CmdFactionGiverank(Player player, string name, string rank)
|
||||
{
|
||||
@@ -173,8 +175,8 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Leader Commands
|
||||
|
||||
#endregion
|
||||
#region Sanitäter Commands
|
||||
|
||||
[Command("revive", "~m~Benutzung: ~s~/revive")]
|
||||
@@ -297,8 +299,11 @@ namespace ReallifeGamemode.Server.Commands
|
||||
target.SendNotification($"Du wurdest von ~g~{player.Name} ~s~ für ~g~{price.ToMoneyString()} geheilt.", false);
|
||||
player.SendNotification($"Du hast ~g~{target.Name} ~s~ für {price.ToMoneyString()} geheilt.", false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion Sanitäter Commands
|
||||
|
||||
#region Staatsfraktionen (LSPD / FBI) Commands
|
||||
|
||||
[Command("wanted", "~m~Benutzung: ~s~/wa(nted) [Spieler] [Anzahl] [Grund]", Alias = "wa", GreedyArg = true)]
|
||||
public void CmdFactionWanted(Player player, string nameOrId, int amount, string reason)
|
||||
{
|
||||
@@ -341,7 +346,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
[Command("clear", "~m~Benutzung: ~s~/clear [Spieler] [Grund]", GreedyArg = true)]
|
||||
public void CmdFactionClear(Player player, string nameOrId, string reason)
|
||||
{
|
||||
|
||||
User user = player.GetUser();
|
||||
if (user == null || (user.FactionId != 1 && user.FactionId != 3))
|
||||
{
|
||||
@@ -378,9 +382,11 @@ namespace ReallifeGamemode.Server.Commands
|
||||
case 8:
|
||||
target.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
target.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
target.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
@@ -392,11 +398,6 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
#region Global Fraktions Commands
|
||||
#endregion
|
||||
#endregion Staatsfraktionen (LSPD / FBI) Commands
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace ReallifeGamemode.Server.Commands
|
||||
{
|
||||
class GroupCommands : Script
|
||||
internal class GroupCommands : Script
|
||||
{
|
||||
#region Chat Commands
|
||||
|
||||
[Command("gc", "~m~Benutzung: ~s~/gc [Nachricht]", GreedyArg = true)]
|
||||
public void CmdGroupG(Player player, string message)
|
||||
{
|
||||
@@ -26,6 +24,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
|
||||
ChatService.BroadcastGroup(message, group);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion Chat Commands
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database;
|
||||
using System;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Finance;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Commands
|
||||
{
|
||||
class UserCommands : Script
|
||||
internal class UserCommands : Script
|
||||
{
|
||||
[Command("dice", "~m~Benutzung: ~s~/dice")]
|
||||
public void CmdUserDice(Player player)
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
|
||||
namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
class DrivingSchool : Script
|
||||
internal class DrivingSchool : Script
|
||||
{
|
||||
private static TextLabel informationLabel;
|
||||
private static Marker marker;
|
||||
@@ -40,6 +36,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
new Vector3(-813.57, -1290.37, 4.59),
|
||||
}.AsReadOnly();
|
||||
|
||||
private readonly IReadOnlyCollection<Vector3> DrivingRoute = new List<Vector3>
|
||||
{
|
||||
//BEGIN
|
||||
@@ -80,12 +77,12 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
new Vector3(-617.66, -1259.34, 9.82),
|
||||
new Vector3(-758.35, -1285.03, 3.48),
|
||||
}.AsReadOnly();
|
||||
|
||||
private readonly IReadOnlyCollection<Vector3> StopCar = new List<Vector3>
|
||||
{
|
||||
new Vector3(-788.66, -1278.75, 4),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
public static void Setup()
|
||||
{
|
||||
informationLabel = NAPI.TextLabel.CreateTextLabel("Fahrschule\n~y~Auto ~s~- $~g~2500\n~y~Motorrad ~s~- $~g~3500", new Vector3(-813.17, -1354.5, 5.14), 20.0f, 1.3f, 0, new Color(255, 255, 255));
|
||||
@@ -181,7 +178,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
user.Position = new Vector3(-813.17, -1354.5, 4.14);
|
||||
}
|
||||
|
||||
|
||||
[RemoteEvent("drivingSchoolEvent")]
|
||||
public void DrivingSchoolEvent(Player user, int checkpoint)
|
||||
{
|
||||
@@ -189,7 +185,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
user.TriggerEvent("renderTextOnScreen", "Sollten Sie aus dem Fahrzeug aussteigen fallen Sie durch.");
|
||||
}
|
||||
|
||||
else if (checkpoint == 9)
|
||||
{
|
||||
user.TriggerEvent("renderTextOnScreen", "Fahre zwischen den Laternen Slalom.");
|
||||
@@ -205,8 +200,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
[RemoteEvent("startBikeSchool")]
|
||||
public void StartBikeSchool(Player client)
|
||||
{
|
||||
@@ -233,7 +226,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
client.TriggerEvent("waitPlayerEntersVehicle");
|
||||
}
|
||||
|
||||
|
||||
[RemoteEvent("bikeSchoolEventEnd")]
|
||||
public void bikeSchoolEventEnd(Player user, int checkpoint)
|
||||
{
|
||||
@@ -258,7 +250,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
user.Position = new Vector3(-813.17, -1354.5, 4.14);
|
||||
}
|
||||
|
||||
|
||||
[RemoteEvent("bikeSchoolEvent")]
|
||||
public void bikeSchoolEvent(Player user, int checkpoint)
|
||||
{
|
||||
@@ -272,6 +263,5 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
CheckPointHandle.StartCheckPointRoute(user, StopBike, 5000, 1, 7, 3, true, "bikeSchoolEventEnd");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
@@ -19,7 +16,6 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
[JsonProperty("weaponLicense")]
|
||||
public bool WeaponLicense { get; set; }
|
||||
|
||||
|
||||
public Licenses(bool CarLicense, bool BikeLicense, bool PlaneLicense, bool weaponLicense)
|
||||
{
|
||||
this.CarLicense = CarLicense;
|
||||
@@ -27,6 +23,5 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
this.PlaneLicense = PlaneLicense;
|
||||
this.WeaponLicense = weaponLicense;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
|
||||
namespace ReallifeGamemode.Server.DrivingSchool
|
||||
{
|
||||
class PlaneSchool : Script
|
||||
internal class PlaneSchool : Script
|
||||
{
|
||||
private static TextLabel informationLabel1;
|
||||
private static Marker marker1;
|
||||
@@ -38,16 +34,13 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
new Vector3(-869.77, -1424.05, 133),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
private readonly IReadOnlyCollection<Vector3> planeRouteEnd = new List<Vector3>
|
||||
{
|
||||
new Vector3(-1164.29, -2351.52, 14.88),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
public static void Setup()
|
||||
{
|
||||
|
||||
informationLabel1 = NAPI.TextLabel.CreateTextLabel("Flugschule\n~y~Flugschein ~s~- $~g~5000", new Vector3(-1083.96, -2476.96, 14.07), 20.0f, 1.3f, 0, new Color(255, 255, 255));
|
||||
marker1 = NAPI.Marker.CreateMarker(MarkerType.VerticalCylinder, new Vector3(-1083.96, -2476.96, 13.07), new Vector3(), new Vector3(), 1f, new Color(255, 255, 255));
|
||||
|
||||
@@ -56,6 +49,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
_colShape1.OnEntityExitColShape += EntityExitBusinessColShape;
|
||||
NAPI.Blip.CreateBlip(90, new Vector3(-1083.96, -2476.96, 14.07), 1.0f, 4, "Flugschule", shortRange: true);
|
||||
}
|
||||
|
||||
private static void EntityEnterBusinessColShape(ColShape colShape, Player client)
|
||||
{
|
||||
if (client.IsInVehicle || !client.IsLoggedIn()) return;
|
||||
@@ -132,6 +126,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
user.ResetData("ActiveSchool");
|
||||
user.Position = new Vector3(-1083.96, -2476.96, 13.07);
|
||||
}
|
||||
|
||||
[RemoteEvent("planeSchoolEvent")]
|
||||
public void planeSchoolEvent(Player user, int checkpoint)
|
||||
{
|
||||
@@ -177,11 +172,7 @@ namespace ReallifeGamemode.Server.DrivingSchool
|
||||
user.TriggerEvent("renderTextOnScreen", "Setze zum landeflug an. Drücke 'G' um ihr Fahrwerk auszufahren.");
|
||||
CheckPointHandle.StartCheckPointRoute(user, planeRouteEnd, 5000, 6, 12, 5, true, "planeSchoolEventEnd");
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
@@ -13,7 +13,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
if (serverMsg.Trim().Length == 0) return;
|
||||
NAPI.Player.GetPlayersInRadiusOfPlayer(10, player).ForEach(p =>
|
||||
{
|
||||
ChatService.SendMessage(p, $"{player.Name} sagt: {serverMsg}");//
|
||||
ChatService.SendMessage(p, $"{player.Name} sagt: {serverMsg}");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Event Login (Login.cs)
|
||||
@@ -17,7 +14,7 @@ using ReallifeGamemode.Server.Wanted;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
class Connect : Script
|
||||
internal class Connect : Script
|
||||
{
|
||||
private readonly TimeSpan LightModeTimeFrom = new TimeSpan(5, 30, 0);
|
||||
private readonly TimeSpan LightModeTimeTo = new TimeSpan(21, 00, 0);
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
using ReallifeGamemode.Server.Inventory;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
|
||||
/**
|
||||
@@ -66,7 +69,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
User user = player.GetUser();
|
||||
if (user.JailTime <= 0)
|
||||
{
|
||||
|
||||
//MEDIC AUFTRAG
|
||||
MedicTask reviveTask = new MedicTask()
|
||||
{
|
||||
@@ -92,8 +94,35 @@ namespace ReallifeGamemode.Server.Events
|
||||
|
||||
//TODO PICTURE NOTIFICATION + SOUND für Medics
|
||||
|
||||
player.ClearAttachments();
|
||||
|
||||
using (var userDeath = new DatabaseContext())
|
||||
{
|
||||
List<UserItem> fItem = userDeath.UserItems.Where(u => u.UserId == user.Id).ToList();
|
||||
foreach (var item in fItem)
|
||||
{
|
||||
IItem iItem = InventoryManager.GetItemById(item.ItemId);
|
||||
if (iItem is IWeaponDealItem obj)
|
||||
{
|
||||
int amount = item.Amount;
|
||||
|
||||
Vector3 dropPosition = PlayerExtension.GetPositionFromPlayer(player, 0.6f, 0);
|
||||
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
|
||||
Random r = new Random();
|
||||
GTANetworkAPI.Object grndObject;
|
||||
Vector3 textPos = dropPosition;
|
||||
|
||||
dropPosition.Z -= 1.05f;
|
||||
grndObject = NAPI.Object.CreateObject(3666746839, dropPosition, new Vector3(0, 0, r.Next(0, 360)), 255, 0);
|
||||
|
||||
GroundItem grndItem = new GroundItem { ItemId = iItem.Id, Amount = amount, Position = dropPosition };
|
||||
TextLabel grndTxtLbl = NAPI.TextLabel.CreateTextLabel(iItem.Name + " ~s~(~y~" + amount + "~s~)", textPos, 5, 0.5f, 4, new Color(255, 255, 255), false, 0);
|
||||
GroundItem.AddGroundItem(grndItem, grndObject, grndTxtLbl);
|
||||
|
||||
userDeath.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
var dead = new Database.Entities.Logs.Death
|
||||
{
|
||||
VictimId = player.GetUser().Id,
|
||||
@@ -167,7 +196,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
Jail.Check_PutBehindBars(player);
|
||||
}
|
||||
|
||||
|
||||
[RemoteEvent("RespawnPlayerAtHospital")]
|
||||
public void RespawnPlayerAtHospital(Player player)
|
||||
{
|
||||
|
||||
@@ -12,8 +12,8 @@ using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Services;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
@@ -19,17 +17,17 @@ namespace ReallifeGamemode.Server.Events
|
||||
return;
|
||||
}
|
||||
|
||||
if (vehicle.HasMarkerBehind())
|
||||
vehicle.RemoveMarkerBehind();
|
||||
|
||||
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
||||
{
|
||||
User u = client.GetUser();
|
||||
if (u.FactionId != null && veh.GetOwners().Contains(u.FactionId.Value) && (veh.Model == VehicleHash.Burrito3) && vehicle.HasData("weaponDeal") && vehicle.GetData<bool>("weaponDeal") == true)
|
||||
{
|
||||
Vector3 vector = WeaponDealPoints.getRndWD_Route(client.GetUser().FactionId.Value);
|
||||
if (vector == new Vector3())
|
||||
return;
|
||||
List<Vector3> dealPoint = new List<Vector3>();
|
||||
dealPoint.Add(vector);
|
||||
CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, 4, true, "loadWeaponTransport");
|
||||
dealPoint.Add(vehicle.GetData<Vector3>("weaponDealPoint"));
|
||||
CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, "loadWeaponTransport");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ using ReallifeGamemode.Server.Managers;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
|
||||
public class EnterVehicleAttempt : Script
|
||||
{
|
||||
public static GTANetworkAPI.Vehicle Roller;
|
||||
|
||||
@@ -8,7 +8,6 @@ using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.WeaponDeal;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
@@ -22,6 +21,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
LastVehicle = vehicle;
|
||||
if (client.VehicleSeat != 0)
|
||||
return;
|
||||
|
||||
if (vehicle.GetServerVehicle() is FactionVehicle veh)
|
||||
{
|
||||
User u = client.GetUser();
|
||||
@@ -30,6 +30,10 @@ namespace ReallifeGamemode.Server.Events
|
||||
CheckPointHandle.RemovePlayerHandlerFromList(client);
|
||||
client.TriggerEvent("destroyCP");
|
||||
}
|
||||
else if ((u.FactionId != null) && (veh.GetOwners().Contains(u.FactionId ?? 0)) && ((VehicleHash)vehicle.Model == VehicleHash.Burrito3 || (VehicleHash)vehicle.Model == VehicleHash.Policet) && vehicle.HasData("WeaponDealLoad") && vehicle.GetData<bool>("WeaponDealLoad") == true)
|
||||
{
|
||||
client.TriggerEvent("SERVER:setMarkerBehindVehicle", vehicle);
|
||||
}
|
||||
}
|
||||
if (vehicle.GetServerVehicle() is SchoolVehicle vehS)
|
||||
{
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
class Faction : Script
|
||||
internal class Faction : Script
|
||||
{
|
||||
[RemoteEvent("OnFactionRanksEdit")]
|
||||
public void OnFactionRanksEdit(Player player, string jsonData)
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
@@ -61,7 +59,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
iName.Add(iItem.Name);
|
||||
iAmount.Add(vehItem.Amount);
|
||||
iId.Add(iItem.Id);
|
||||
|
||||
}
|
||||
var vehInv = new VehicleInventory
|
||||
{
|
||||
@@ -76,6 +73,5 @@ namespace ReallifeGamemode.Server.Events
|
||||
}
|
||||
return vehicleInventory;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Classes;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Classes;
|
||||
using ReallifeGamemode.Server.DrivingSchool;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Factions.Medic;
|
||||
using ReallifeGamemode.Server.Finance;
|
||||
using ReallifeGamemode.Server.Inventory;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.DrivingSchool;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.WeaponDeal;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Event Key (Key.cs)
|
||||
* @author VegaZ
|
||||
@@ -47,6 +47,7 @@ namespace ReallifeGamemode.Server.Events
|
||||
tempBlip.Transparency.ToString(), 200.ToString(), tempBlip.ShortRange.ToString(), 0.ToString(), 0.ToString());
|
||||
player.SendNotification("~y~Blip~s~ erstellt!", false);
|
||||
break;
|
||||
|
||||
case "atm":
|
||||
SaveManager.OnSaveBlipData(player, "500", "Geldautomat", 0.7.ToString(), "11",
|
||||
"0", "200", true.ToString(), 0.ToString(), 0.ToString());
|
||||
@@ -182,20 +183,73 @@ namespace ReallifeGamemode.Server.Events
|
||||
if (!player.IsLoggedIn()) return;
|
||||
var user = player.GetUser();
|
||||
|
||||
ElevatorPoint nearestElevatorPoint = PositionManager.ElevatorPoints.Find(e => e.Position.DistanceTo(player.Position) <= 1.6 && (user.FactionId == 1 || user.FactionId == 3));
|
||||
ClotheshopPoint nearestClotheShopPoint = PositionManager.clotheshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6 && (!user.GetData<bool>("duty")));
|
||||
|
||||
ItemshopPoint nearestItemShopPoint = PositionManager.itemshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6);
|
||||
JobPoint nearestJobPoint = PositionManager.JobPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.6);
|
||||
|
||||
if (user?.FactionId != null)
|
||||
{
|
||||
DutyPoint nearestDuty = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.6 && d.FactionId == user.FactionId);
|
||||
WeaponPoint nearestWeapon = PositionManager.WeaponPoints.Find(w => w.Position.DistanceTo(player.Position) <= 1.6 && w.FactionId == user.FactionId);
|
||||
JailReleasePoint nearestJailReleasePoint = PositionManager.JailReleasePoints.Find(j => j.Position.DistanceTo(player.Position) <= 1.6 && (user.FactionId == 1 || user.FactionId == 3) && user.GetData<bool>("duty"));
|
||||
DutyPoint nearestDuty = PositionManager.DutyPoints.Find(d => d.Position.DistanceTo(player.Position) <= 1.5 && d.FactionId == user.FactionId);
|
||||
WeaponPoint nearestWeapon = PositionManager.WeaponPoints.Find(w => w.Position.DistanceTo(player.Position) <= 1.5 && w.FactionId == user.FactionId);
|
||||
JailReleasePoint nearestJailReleasePoint = PositionManager.JailReleasePoints.Find(j => j.Position.DistanceTo(player.Position) <= 1.5 && (user.FactionId == 1 || user.FactionId == 3) && user.GetData<bool>("duty"));
|
||||
ElevatorPoint nearestElevatorPoint = PositionManager.ElevatorPoints.Find(e => e.Position.DistanceTo(player.Position) <= 1.5 && (user.FactionId == 1 || user.FactionId == 3));
|
||||
ClotheshopPoint nearestClotheShopPoint = PositionManager.clotheshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5 && (!user.GetData<bool>("duty")));
|
||||
ItemshopPoint nearestItemShopPoint = PositionManager.itemshopPoints.Find(s => s.Position.DistanceTo(player.Position) <= 1.5);
|
||||
BehindVehiclePoint nearestBehindVehiclePoint = MarkerBehinVehicle.behindVehiclePoints.Find(s => s.marker.Position.DistanceTo(player.Position) <= 3 && (user.FactionId == 8 || user.FactionId == 7 || user.FactionId == 1 || user.FactionId == 3));
|
||||
|
||||
if (nearestBehindVehiclePoint != null)
|
||||
{
|
||||
if (player.HasAttachment("ammobox")) return;
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
List<VehicleItem> vehicleItems = dbContext.VehicleItems.Where(f => f.GetVehicle().GetVehicle() == nearestBehindVehiclePoint.vehicle && InventoryManager.GetItemById(f.ItemId) is IWeaponDealItem).ToList();
|
||||
if (vehicleItems.Count == 0)
|
||||
{
|
||||
GTANetworkAPI.Vehicle vehicle = nearestBehindVehiclePoint.vehicle;
|
||||
|
||||
if (nearestDuty != null && !player.IsInVehicle)// Duty Point
|
||||
if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
|
||||
{
|
||||
vehicle.ResetData("WeaponDealLoad");
|
||||
}
|
||||
|
||||
nearestBehindVehiclePoint.vehicle.RemoveMarkerBehind();
|
||||
|
||||
return;
|
||||
}
|
||||
foreach (var v in vehicleItems)
|
||||
{
|
||||
int itemToAdd = 0;
|
||||
for (int i = 1; i <= v.Amount; i++)
|
||||
{
|
||||
if (InventoryManager.GetUserInventoryWeight(player) + (i * InventoryManager.GetItemById(v.ItemId).Gewicht) > 40000)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemToAdd = i;
|
||||
}
|
||||
}
|
||||
if (itemToAdd == 0)
|
||||
break;
|
||||
|
||||
v.Amount -= itemToAdd;
|
||||
if (v.Amount <= 0)
|
||||
dbContext.VehicleItems.Remove(v);
|
||||
|
||||
var newItem = new UserItem()
|
||||
{
|
||||
ItemId = v.ItemId,
|
||||
Slot = v.Slot,
|
||||
Amount = itemToAdd,
|
||||
UserId = user.Id,
|
||||
};
|
||||
|
||||
InventoryManager.AddItemToInventory(player, newItem.Id, newItem.Amount);
|
||||
nearestBehindVehiclePoint.usePoint(player);
|
||||
dbContext.SaveChanges();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nearestDuty != null)// Duty Point
|
||||
{
|
||||
var nameTagColor = new Color(0, 0, 0);
|
||||
var factionId = user.FactionId;
|
||||
@@ -275,7 +329,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
|
||||
if (nearestWeapon != null) // Weapon Point
|
||||
{
|
||||
|
||||
List<string> primarys = new List<string>();
|
||||
List<string> secondarys = new List<string>();
|
||||
List<string> melees = new List<string>();
|
||||
@@ -287,10 +340,14 @@ namespace ReallifeGamemode.Server.Events
|
||||
melees.Add("Keine");
|
||||
specials.Add("Keine");
|
||||
|
||||
|
||||
|
||||
using (var context = new DatabaseContext())
|
||||
{
|
||||
if (player.HasAttachment("ammobox"))
|
||||
{
|
||||
player.AddAttachment("ammobox", true);
|
||||
player.StopAnimation();
|
||||
}
|
||||
|
||||
bool unloadedWeaponPackage = false;
|
||||
|
||||
List<UserItem> fItem = context.UserItems.Where(u => u.UserId == user.Id).ToList();
|
||||
@@ -301,7 +358,11 @@ namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
FactionWeapon weapon = context.FactionWeapons.Where(w => w.FactionId == user.FactionId && w.WeaponModel == iItem.Name).FirstOrDefault();
|
||||
if (weapon == null)
|
||||
{
|
||||
context.Remove(item);
|
||||
continue;
|
||||
}
|
||||
|
||||
weapon.Ammount += item.Amount;
|
||||
ChatService.SendMessage(player, item.Amount + " " + iItem.Name + " wurden im Waffenlager hinzugefürgt.");
|
||||
context.Remove(item);
|
||||
@@ -332,14 +393,17 @@ namespace ReallifeGamemode.Server.Events
|
||||
if (user.FactionRank.Order >= weapon.Rank)
|
||||
primarys.Add(weapon.WeaponModel.ToString());
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (user.FactionRank.Order >= weapon.Rank)
|
||||
secondarys.Add(weapon.WeaponModel.ToString());
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (user.FactionRank.Order >= weapon.Rank)
|
||||
melees.Add(weapon.WeaponModel.ToString());
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (user.FactionRank.Order >= weapon.Rank)
|
||||
specials.Add(weapon.WeaponModel.ToString());
|
||||
@@ -452,7 +516,8 @@ namespace ReallifeGamemode.Server.Events
|
||||
public void KeyPressI(Player player)
|
||||
{
|
||||
if (!player.IsLoggedIn()) return;
|
||||
InventoryManager.GetUserItems(player);
|
||||
player.TriggerEvent("inventoryShow");
|
||||
InventoryManager.SetBackpackItems(player);
|
||||
}
|
||||
|
||||
[RemoteEvent("keyPress:O")]
|
||||
@@ -507,9 +572,11 @@ namespace ReallifeGamemode.Server.Events
|
||||
case 11:
|
||||
tops.Add(cloth.ClothId.ToString());
|
||||
break;
|
||||
|
||||
case 4:
|
||||
legs.Add(cloth.ClothId.ToString());
|
||||
break;
|
||||
|
||||
case 6:
|
||||
shoes.Add(cloth.ClothId.ToString());
|
||||
break;
|
||||
@@ -519,7 +586,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
player.TriggerEvent("showDutyClothMenu", hats.ToArray(), tops.ToArray(), legs.ToArray(), shoes.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[RemoteEvent("keyPress:L")]
|
||||
@@ -693,7 +759,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
|
||||
if (!player.IsInVehicle)
|
||||
{
|
||||
|
||||
Vehicle.VehicleMenuLockCarEvent(player);
|
||||
|
||||
GroundItem.PickUpGroundItem(player);
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Event Login (Login.cs)
|
||||
@@ -102,12 +100,15 @@ namespace ReallifeGamemode.Server.Events
|
||||
case null:
|
||||
player.SetSharedData("blipColor", 0);
|
||||
break;
|
||||
|
||||
case 8:
|
||||
player.SetSharedData("blipColor", 83);
|
||||
break;
|
||||
|
||||
case 7:
|
||||
player.SetSharedData("blipColor", 52);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
player.SetSharedData("blipColor", 5);
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
@@ -12,7 +11,7 @@ using Newtonsoft.Json;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
class Register : Script
|
||||
internal class Register : Script
|
||||
{
|
||||
[RemoteEvent("CLIENT:Login_RegisterRequest")]
|
||||
public void OnPlayerRegister(Player player, string password)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using GTANetworkAPI;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
using GTANetworkAPI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
class Siren : Script
|
||||
internal class Siren : Script
|
||||
{
|
||||
private readonly Dictionary<NetHandle, bool> _sirenStates = new Dictionary<NetHandle, bool>();
|
||||
|
||||
@@ -21,7 +19,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
pV.SetSharedData("sirenSound", newValue);
|
||||
|
||||
NAPI.ClientEvent.TriggerClientEventForAll("toggleVehicleSiren", pV, newValue);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,7 +198,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
}
|
||||
using (var dbContext = new DatabaseContext())
|
||||
{
|
||||
|
||||
var clothes = dbContext.CharacterClothes.FirstOrDefault(c => c.UserId == user.Id && c.SlotId == data[0] && c.Duty == false);
|
||||
|
||||
if (clothes == null)
|
||||
@@ -265,7 +264,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
client.GetUser(dbContext).Handmoney -= data[6];
|
||||
dbContext.SaveChanges();
|
||||
client.TriggerEvent("SERVER:SET_HANDMONEY", user.Handmoney);
|
||||
|
||||
}
|
||||
client.TriggerEvent("clothesMenu:updateLast", data[2], data[1], data[4], data[5], data[3]);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
public class UpdateCharacterElevator : Script
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
@@ -48,7 +47,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
client.RemoveAllWeapons();
|
||||
}
|
||||
|
||||
|
||||
[RemoteEvent("saveWeaponSelection")]
|
||||
public void SaveWeaponSelection(Player client, string primaryModel, string secondaryModel, string meleeModel, string specialModel)
|
||||
{
|
||||
@@ -69,7 +67,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
melee = NAPI.Util.GetHashKey($"weapon_{meleeModel}");
|
||||
}
|
||||
|
||||
|
||||
client.GiveWeapon((WeaponHash)primary, 50);
|
||||
client.GiveWeapon((WeaponHash)secondary, 150);
|
||||
client.GiveWeapon((WeaponHash)melee, 1);
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
using System;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using System;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
@@ -175,7 +174,6 @@ namespace ReallifeGamemode.Server.Events
|
||||
msg += state ? "~g~abgeschlossen" : "~r~aufgeschlossen";
|
||||
player.TriggerEvent("vehsync:OpenCar", state);
|
||||
player.SendNotification(msg);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,7 +278,5 @@ namespace ReallifeGamemode.Server.Events
|
||||
VehicleStreaming.SetDoorState(veh, doorId, DoorState.DoorClosed);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Events
|
||||
{
|
||||
class Voice : Script
|
||||
internal class Voice : Script
|
||||
{
|
||||
[RemoteEvent("CLIENT:AddVoiceListener")]
|
||||
public void AddPlayerVoiceListenerEvent(Player player, Player target)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
using GTANetworkAPI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Player Extension (PlayerExtension.cs)
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ReallifeGamemode.Database;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
using static ReallifeGamemode.Server.Types.AdminLevel;
|
||||
|
||||
@@ -21,18 +16,24 @@ namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
case MAPPING:
|
||||
return "Mapper";
|
||||
|
||||
case ENTWICKLUNG:
|
||||
return "Entwickler";
|
||||
|
||||
case SUPPORTER:
|
||||
return "Supporter";
|
||||
|
||||
case ADMIN:
|
||||
case ADMIN2:
|
||||
case ADMIN3:
|
||||
return "Admin";
|
||||
|
||||
case HEADADMIN:
|
||||
return "Headadmin";
|
||||
|
||||
case PROJEKTLEITUNG:
|
||||
return "Projektleiter";
|
||||
|
||||
default:
|
||||
return "Spieler";
|
||||
}
|
||||
@@ -44,10 +45,13 @@ namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
case GroupRank.OWNER:
|
||||
return "Besitzer";
|
||||
|
||||
case GroupRank.MANAGER:
|
||||
return "Manager";
|
||||
|
||||
case GroupRank.MEMBER:
|
||||
return "Mitglied";
|
||||
|
||||
default:
|
||||
return "Keiner";
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
static class HouseExtensions
|
||||
internal static class HouseExtensions
|
||||
{
|
||||
public static House Refresh(this House house)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
public static class IntegerExtension
|
||||
@@ -10,6 +6,7 @@ namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
return ToMoneyString(money ?? 0);
|
||||
}
|
||||
|
||||
public static string ToMoneyString(this int money)
|
||||
{
|
||||
return "$" + string.Format(Main.SERVER_CULTURE, "{0:C0}", money).Replace("€", "").Trim();
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
using GTANetworkAPI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
|
||||
namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
static class ListExtensions
|
||||
internal static class ListExtensions
|
||||
{
|
||||
public static bool Contains(this List<Player> list, Player client)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Job;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using GTANetworkAPI;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Extensions
|
||||
{
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Server Factions Medic Medic.cs
|
||||
@@ -11,7 +8,6 @@ using ReallifeGamemode.Server.Services;
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
*/
|
||||
|
||||
|
||||
namespace ReallifeGamemode.Server.Factions.Medic
|
||||
{
|
||||
public class Medic : Script
|
||||
@@ -32,9 +28,11 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
case MedicTaskType.REVIVE:
|
||||
ReviveTasks.Add(task);
|
||||
break;
|
||||
|
||||
case MedicTaskType.HEAL:
|
||||
HealTasks.Add(task);
|
||||
break;
|
||||
|
||||
case MedicTaskType.FIRE:
|
||||
FireTasks.Add(task);
|
||||
break;
|
||||
@@ -53,14 +51,17 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
case MedicTaskType.REVIVE:
|
||||
ReviveTasks.Remove(task);
|
||||
break;
|
||||
|
||||
case MedicTaskType.HEAL:
|
||||
HealTasks.Remove(task);
|
||||
break;
|
||||
|
||||
case MedicTaskType.FIRE:
|
||||
FireTasks.Remove(task);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("loadMedicTasks")]
|
||||
public void LoadMedicTasks(Player player, int type)
|
||||
{
|
||||
@@ -69,14 +70,17 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
case 0:
|
||||
player.TriggerEvent("showMedicTasks", 0, JsonConvert.SerializeObject(ReviveTasks));
|
||||
break;
|
||||
|
||||
case 1:
|
||||
player.TriggerEvent("showMedicTasks", 1, JsonConvert.SerializeObject(HealTasks));
|
||||
break;
|
||||
|
||||
case 2:
|
||||
player.TriggerEvent("showMedicTasks", 2, JsonConvert.SerializeObject(FireTasks));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[RemoteEvent("updateMedicTask")]
|
||||
public void UpdateMedicTasks(Player player, int type, int index, string medicName)
|
||||
{
|
||||
@@ -85,9 +89,11 @@ namespace ReallifeGamemode.Server.Factions.Medic
|
||||
case 0:
|
||||
ReviveTasks[index].MedicName = medicName;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
HealTasks[index].MedicName = medicName;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
FireTasks[index].MedicName = medicName;
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
|
||||
/**
|
||||
@@ -9,7 +7,6 @@ using GTANetworkAPI;
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
*/
|
||||
|
||||
|
||||
namespace ReallifeGamemode.Server.Factions.Medic
|
||||
{
|
||||
public class MedicTask
|
||||
|
||||
@@ -4,16 +4,15 @@
|
||||
@copyright (c) 2008 - 2019 Life of German
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Wanted;
|
||||
@@ -53,7 +52,6 @@ namespace ReallifeGamemode.Server.Finance
|
||||
}
|
||||
vehicleTaxation += (int)(uVeh.Price * 0.005f);
|
||||
}
|
||||
|
||||
}
|
||||
return vehicleTaxation;
|
||||
}
|
||||
@@ -86,7 +84,6 @@ namespace ReallifeGamemode.Server.Finance
|
||||
healthInsurance = 0;
|
||||
}
|
||||
|
||||
|
||||
int? factionMoney = null;
|
||||
|
||||
if (user.Faction != null && user.FactionRank != null)
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace ReallifeGamemode.Server.Finance
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using Newtonsoft.Json;
|
||||
@@ -207,7 +206,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
{
|
||||
foreach (var turf in getTurfs())
|
||||
{
|
||||
if((turf.getValue() + 5) >= turf.getMaxValue())
|
||||
if ((turf.getValue() + 5) >= turf.getMaxValue())
|
||||
{
|
||||
turf.setValue(turf.getMaxValue());
|
||||
}
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using System.Timers;
|
||||
using System.Linq;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using Newtonsoft.Json;
|
||||
using System.Timers;
|
||||
using GTANetworkAPI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
|
||||
namespace ReallifeGamemode.Server.Gangwar
|
||||
{
|
||||
public class Turf
|
||||
{
|
||||
|
||||
public int TurfID { get; set; }
|
||||
public string TurfName { get; set; }
|
||||
public int Color { get; set; }
|
||||
@@ -32,8 +30,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
public Player[] playerInGangwar { get; set; }
|
||||
public int timerCount;
|
||||
|
||||
|
||||
public Turf(int TurfID, string TurfName, int color, string Owner, int value, int maxValue,bool surplus)
|
||||
public Turf(int TurfID, string TurfName, int color, string Owner, int value, int maxValue, bool surplus)
|
||||
{
|
||||
this.TurfID = TurfID;
|
||||
this.TurfName = TurfName;
|
||||
@@ -124,11 +121,10 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void update()
|
||||
{
|
||||
#region Ticket system
|
||||
|
||||
/*
|
||||
try
|
||||
{
|
||||
@@ -151,7 +147,9 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
if(owners.Length < attackers.Length)
|
||||
this.Def_Score -= attackers.Length - owners.Length;
|
||||
*/
|
||||
#endregion
|
||||
|
||||
#endregion Ticket system
|
||||
|
||||
foreach (Player gangwarPlayer in this.playerInGangwar)
|
||||
{
|
||||
gangwarPlayer.TriggerEvent("GangwarScore", this.Attacker, this.Owner, this.Att_Score, this.Def_Score);
|
||||
@@ -276,7 +274,6 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
turf.FactionId = dbContext.Factions.Where(f => f.Name == this.Owner).FirstOrDefault().Id;
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
}
|
||||
this.Attacker = null;
|
||||
foreach (var c in playerInGangwar)
|
||||
@@ -303,7 +300,7 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
if (ownersInGangwar.Count < 1 && attackersInGangwar.Count < 1)
|
||||
{
|
||||
List<Player> leaders = context.Users.Include(u => u.Faction).Where(u => onlinePlayers.Contains(u.Name) && u.Faction.Name == attacker && u.FactionLeader).Select(u => u.Player).ToList();
|
||||
foreach(var l in leaders)
|
||||
foreach (var l in leaders)
|
||||
{
|
||||
ChatService.ErrorMessage(l, "Gangwarstart ist nicht möglich, da die beteiligten Fraktionen nicht genügend Mitglieder aufweisen.");
|
||||
}
|
||||
@@ -312,7 +309,6 @@ namespace ReallifeGamemode.Server.Gangwar
|
||||
}
|
||||
List<Player> inGangwar = new List<Player>(ownersInGangwar.Concat(attackersInGangwar));
|
||||
|
||||
|
||||
usersInGangwar = inGangwar.ToArray();
|
||||
}
|
||||
if (this.status == "normal")
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using System.Linq;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory
|
||||
{
|
||||
@@ -34,10 +34,12 @@ namespace ReallifeGamemode.Server.Inventory
|
||||
var invWeight = InventoryManager.GetUserInventoryWeight(player);
|
||||
var itemsToAdd = 0;
|
||||
GTANetworkAPI.Object nearestObject = GroundObjects.FirstOrDefault(d => d.Position == nearest.Position);
|
||||
TextLabel nearestTextLabel = GroundTextLabels.FirstOrDefault(d => d.Position == nearest.Position);
|
||||
TextLabel nearestTextLabel = GroundTextLabels.FirstOrDefault(d => d.Position == new Vector3(nearest.Position.X, nearest.Position.Y, nearest.Position.Z + 1.05) || d.Position == new Vector3(nearest.Position.X, nearest.Position.Y, nearest.Position.Z + 0.8));
|
||||
IItem nearestItem = InventoryManager.GetItemById(nearest.ItemId);
|
||||
UserItem existingItem = InventoryManager.UserHasThisItem(player, nearest.ItemId);
|
||||
var user = player.GetUser();
|
||||
if (player.HasAttachment("ammobox"))
|
||||
{ player.SendNotification("~r~Du kannst momentan nichts tragen!", false); return; }
|
||||
if (nearestItem.Gewicht * nearest.Amount + invWeight > 40000)
|
||||
{
|
||||
for (var i = 1; i <= nearest.Amount; i++)
|
||||
@@ -69,7 +71,7 @@ namespace ReallifeGamemode.Server.Inventory
|
||||
else
|
||||
{
|
||||
UserItem newItem = new UserItem { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
||||
InventoryManager.AddItemToInventory(player, newItem);
|
||||
InventoryManager.AddItemToInventory(player, newItem.ItemId, newItem.Amount);
|
||||
}
|
||||
nearest.Amount -= itemsToAdd;
|
||||
nearestTextLabel.Text = nearestItem.Name + " ~s~(~y~" + nearest.Amount + "~s~)";
|
||||
@@ -90,11 +92,20 @@ namespace ReallifeGamemode.Server.Inventory
|
||||
else
|
||||
{
|
||||
UserItem item = new UserItem() { ItemId = nearest.ItemId, UserId = user.Id, Amount = nearest.Amount };
|
||||
InventoryManager.AddItemToInventory(player, item);
|
||||
InventoryManager.AddItemToInventory(player, item.ItemId, item.Amount);
|
||||
}
|
||||
RemoveGroundItem(nearest, nearestObject, nearestTextLabel);
|
||||
player.SendNotification("Du hast ~g~" + nearest.Amount + " ~y~" + nearestItem.Name + " ~s~aufgehoben.");
|
||||
}
|
||||
if (nearestItem is IWeaponDealItem obj)
|
||||
{
|
||||
if (!player.HasAttachment("ammobox"))
|
||||
{
|
||||
player.PlayAnimation("anim@heists@box_carry@", "idle", 49);
|
||||
player.AddAttachment("ammobox", false);
|
||||
NAPI.Player.SetPlayerCurrentWeapon(player, WeaponHash.Unarmed);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,4 +119,3 @@ namespace ReallifeGamemode.Server.Inventory
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Interfaces Item (IItem.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Interfaces UsableItem (IUsableItem.cs)
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Interfaces
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Cheeseburger (Cheeseburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
@@ -21,6 +16,5 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override int HpAmount => 20;
|
||||
public override uint Object => 2240524752;
|
||||
public override int Price => 150;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Chickenburger (Chickenburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -3,9 +3,6 @@ using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -3,9 +3,6 @@ using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
public abstract class JobBase : Script
|
||||
{
|
||||
public delegate void JobStartHandler(Player player);
|
||||
|
||||
public delegate void JobStopHandler(Player player);
|
||||
|
||||
public event JobStartHandler JobStart;
|
||||
|
||||
public event JobStopHandler JobStop;
|
||||
|
||||
private readonly List<Player> _inJob = new List<Player>();
|
||||
@@ -59,6 +60,7 @@ namespace ReallifeGamemode.Server.Job
|
||||
}
|
||||
|
||||
public static List<Player> GetPlayerInJob() => jobPlayer;
|
||||
|
||||
public List<Player> GetUsersInJob() => _inJob;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Server.Util;
|
||||
using Newtonsoft.Json;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
@@ -10,7 +9,7 @@ using ReallifeGamemode.Server.Managers;
|
||||
|
||||
namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
class PilotJob : JobBase
|
||||
internal class PilotJob : JobBase
|
||||
{
|
||||
public override int Id => 3;
|
||||
|
||||
@@ -90,8 +89,6 @@ namespace ReallifeGamemode.Server.Job
|
||||
new Vector3(-710.89, -1836.81, 355.46),
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
|
||||
public PilotJob()
|
||||
{
|
||||
JobStart += PilotJob_JobStart;
|
||||
@@ -106,7 +103,6 @@ namespace ReallifeGamemode.Server.Job
|
||||
|
||||
if ((VehicleHash)veh.Model == VehicleHash.Velum || (VehicleHash)veh.Model == VehicleHash.Velum2)
|
||||
{
|
||||
|
||||
listRouteTexts2.Add("Route 4");
|
||||
listRouteTexts2.Add("Route 5");
|
||||
listRouteTexts2.Add("Route 6");
|
||||
@@ -151,7 +147,6 @@ namespace ReallifeGamemode.Server.Job
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
[RemoteEvent("startPilotRoute")]
|
||||
public void StartPilotRoute(Player player, string type)
|
||||
{
|
||||
|
||||
@@ -202,6 +202,7 @@ namespace ReallifeGamemode.Server.Job
|
||||
Player target = data.getPartnerClient(player);
|
||||
if (target != null) target.TriggerEvent("MuellmannUpdateColshape", colshapeIndex);
|
||||
ChatService.SendMessage((Player)player, "Du hast den Müllsack in der Hand. Bringe ihm zum Müllwagen hinten.");
|
||||
player.AddAttachment("binbag", false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -213,14 +214,10 @@ namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
|
||||
int count = data.getTrashCount();
|
||||
count++;
|
||||
data.setTrashCount(count);
|
||||
data.setTrashCount(data.getTrashCount() + 1);
|
||||
|
||||
Player target = data.getPartnerClient(player);
|
||||
if (target != null) ChatService.SendMessage((Player)target, $"Es sind jetzt {count} Säcke im Müllwagen.");
|
||||
ChatService.SendMessage((Player)player, $"Es sind jetzt {count} Säcke im Müllwagen.");
|
||||
|
||||
player.AddAttachment("binbag", true);
|
||||
if (data.getTrashCount() >= 20)
|
||||
{
|
||||
ChatService.SendMessage((Player)player, "Auto ist voll fahre nun zu Base.");
|
||||
@@ -241,11 +238,9 @@ namespace ReallifeGamemode.Server.Job
|
||||
{
|
||||
if (data.getDataFromClient(player) == null) continue;
|
||||
|
||||
int count = data.getTrashCount();
|
||||
|
||||
Player target = data.getPartnerClient(player);
|
||||
if (target != null) ChatService.SendMessage((Player)target, $"Fahrzeug wurde entleert. Säcke: {count}");
|
||||
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {count}");
|
||||
if (target != null) ChatService.SendMessage((Player)target, $"Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}");
|
||||
ChatService.SendMessage((Player)player, $"Fahrzeug wurde entleert. Säcke: {data.getTrashCount()}");
|
||||
//bonus pro sack
|
||||
|
||||
data.setTrashCount(0);
|
||||
@@ -331,7 +326,7 @@ namespace ReallifeGamemode.Server.Job
|
||||
}
|
||||
CheckDataForDuplicatePlayer(player, data);
|
||||
data.setClientToData(player);
|
||||
|
||||
//destroy veh
|
||||
MuellmannJobStarten(player, vehicle);
|
||||
|
||||
target = data.getPartnerClient(player);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user