import { isInAnyNoDMPolygon, listNoDMZones } from "../Player/polygons"; import polygons from "../polygons"; import { getWantedCount } from "../Gui/wanteds"; import { spawnschutzEnabled } from "../Player/spawnschutz"; //import Hits from "./hitmarker"; function isTargetInPolygon(pos): boolean { let found = false; listNoDMZones.forEach(zone => { if (polygons.isPositionWithinPolygon(pos, zone, zone.dimension)) { found = true; return; } }); if (found) return true; return false; } export default function weapondamageUtil(globalData: IGlobalData) { let blockInput = false; mp.players.local.setSuffersCriticalHits(false); mp.players.forEachInStreamRange((player) => { player.setSuffersCriticalHits(false); }); mp.events.add(RageEnums.EventKey.INCOMING_DAMAGE, (sourceEntity: EntityMp, sourcePlayer: PlayerMp, targetEntity: EntityMp, weapon: number, boneIndex: number, damage: number) => { if ((isTargetInPolygon(sourceEntity.position) || isInAnyNoDMPolygon) && getWantedCount() === 0) { return true; } if (globalData.IsAfk == true && getWantedCount() === 0) { return true; } if (spawnschutzEnabled && getWantedCount() === 0) { return true; } }); mp.events.add(RageEnums.EventKey.OUTGOING_DAMAGE, (sourceEntity, targetEntity, sourcePlayer, weapon, boneIndex, damage) => { if (spawnschutzEnabled && getWantedCount() === 0) { return true; } /* if (targetEntity.type === 'player') { Hits.add(damage, targetEntity.position); } */ }); mp.events.add("render", () => { if (blockInput) { mp.game.controls.disableControlAction(32, 142, true); mp.game.controls.disableControlAction(32, 140, true); mp.game.controls.disableControlAction(32, 263, true); } }); mp.events.add('SERVER:WeaponModifier', (player) => { //mp.gui.chat.push("Modifier steht jetzt auf" + modifier); //mp.players.local.setWeaponDamageModifier(modifier); let modifier = 1; let meelemodifier = 1; blockInput = (mp.game.weapon.getWeapontypeGroup(player.weapon) != 2685387236); switch (player.weapon) { case 0x1B06D571: // pistol modifier = 0.4; meelemodifier = 1; break; case 0xBFE256D4: // pistol_mk2 modifier = 0.4; meelemodifier = 1; break; case 0x5EF9FEC4: // combatpistol modifier = 0.5; meelemodifier = 1; break; case 0x22D8FE39: // appistol modifier = 0.185; meelemodifier = 1; break; case 0x3656C8C1: // stungun modifier = 0; meelemodifier = 1; break; case 0x99AEEB3B: // pistol50 modifier = 0.35; meelemodifier = 1; break; case 0xBFD21232: // snspistol modifier = 0.25; meelemodifier = 1; break; case 0x88374054: // snspistol_mk2 modifier = 0.26; meelemodifier = 1; break; case 0xD205520E: // heavypistol modifier = 0.2; meelemodifier = 1; break; case 0x83839C4: // vintagepistol modifier = 0.2; meelemodifier = 1; break; case 0x47757124: // flaregun modifier = 0; meelemodifier = 1; break; case 0xDC4DB296: // marksmanpistol modifier = 0.25; meelemodifier = 1; break; case 0xC1B3C3D1: // revolver modifier = 0.2; meelemodifier = 1; break; case 0xCB96392F: // revolver_mk2 modifier = 0.16; meelemodifier = 1; break; case 0x97EA20B8: // doubleaction modifier = 0.23; meelemodifier = 1; break; case 0xAF3696A1: // raypistol modifier = 0; meelemodifier = 1; break; case 0x2B5EF5EC: // ceramicpistol modifier = 0.25; meelemodifier = 1; break; case 0x917F6C8C: // navyrevolver modifier = 0.2; meelemodifier = 1; break; case 0x57A4368C: // gadgetpistol modifier = 0.25; meelemodifier = 1; break; case 0x13532244: // microsmg modifier = 0.25; meelemodifier = 1; break; case 0x2BE6766B: // smg modifier = 0.25; meelemodifier = 1; break; case 0x78A97CD0: // smg_mk2 modifier = 0.23; meelemodifier = 1; break; case 0xEFE7E2DF: // assaultsmg modifier = 0.259; meelemodifier = 1; break; case 0x0A3D4D34: // combatpdw modifier = 0.185; meelemodifier = 1; break; case 0xDB1AA450: // machinepistol modifier = 0.2; meelemodifier = 1; break; case 0xBD248B55: // minismg modifier = 0.21; meelemodifier = 1; break; case 0x476BF155: // raycarbine modifier = 0.1; meelemodifier = 1; break; case 0x1D073A89: // pumpshotgun modifier = 0.2; meelemodifier = 1; break; case 0x555AF99A: // pumpshotgun_mk2 modifier = 0.2; meelemodifier = 1; break; case 0x7846A318: // sawnoffshotgun modifier = 0.15; meelemodifier = 1; break; case 0xE284C527: // assaultshotgun modifier = 0.1; meelemodifier = 1; break; case 0x9D61E50F: // bullpupshotgun modifier = 0.35; meelemodifier = 1; break; case 0xA89CB99E: // musket modifier = 0.5; meelemodifier = 1; break; case 0x3AABBBAA: // heavyshotgun modifier = 0.11; meelemodifier = 1; break; case 0xEF951FBB: // dbshotgun modifier = 0.2; meelemodifier = 1; break; case 0x12E82D3D: // autoshotgun modifier = 0.12; meelemodifier = 1; break; case 0x5A96BA4: // combatshotgun modifier = 0.19; meelemodifier = 1; break; // TODO case 0xBFEFFF6D: // assaultrifle modifier = 0.225; meelemodifier = 1; break; case 0x394F415C: // assaultrifle_mk2 modifier = 0.15; meelemodifier = 1; break; case 0x83BF0278: // carbinerifle modifier = 0.2; meelemodifier = 1; break; case 0xFAD1F1C9: // carbinerifle_mk2 modifier = 0.22; meelemodifier = 1; break; case 0xAF113F99: // advancedrifle modifier = 0.2; meelemodifier = 1; break; case 0xC0A3098D: // specialcarbine modifier = 0.2; meelemodifier = 1; break; case 0x969C3D67: // specialcarbine_mk2 modifier = 0.23; meelemodifier = 1; break; case 0x7F229F94: // bullpuprifle modifier = 0.18; meelemodifier = 1; break; case 0x84D6FAFD: // bullpuprifle_mk2 modifier = 0.2; meelemodifier = 1; break; case 0x624FE830: // compactrifle modifier = 0.2; meelemodifier = 0.1; break; case 0x9D1F17E6: // militaryrifle modifier = 0.22; meelemodifier = 1; break; case 0x9D07F764: // mg modifier = 0; meelemodifier = 1; break; case 0x7FD62962: // combatmg modifier = 0; meelemodifier = 1; break; case 0xDBBD7280: // combatmg_mk2 modifier = 0; meelemodifier = 1; break; case 0x61012683: // gusenberg modifier = 0.2; meelemodifier = 1; break; case 0x05FC3C11: // sniperrifle modifier = 0.5; meelemodifier = 1; break; case 0x0C472FE2: // heavysniper modifier = 0.17; meelemodifier = 1; break; case 0xA914799: // heavysniper_mk2 modifier = 0.19; meelemodifier = 1; break; case 0xC734385A: // marksmanrifle modifier = 0.15; meelemodifier = 1; break; case 0x6A6C02E0: // marksmanrifle_mk2 modifier = 0.12; meelemodifier = 1; break; case 0xB1CA77B1: // rpg modifier = 0; meelemodifier = 1; break; case 0xA284510B: // grenadelauncher modifier = 0; meelemodifier = 1; break; case 0x4DD2DC56: // grenadelauncher_smoke modifier = 0; meelemodifier = 1; break; case 0x42BF8A85: // minigun modifier = 0.1; meelemodifier = 1; break; case 0x7F7497E5: // firework modifier = 0; meelemodifier = 1; break; case 0x6D544C99: // railgun modifier = 0; meelemodifier = 1; break; case 0x63AB0442: // hominglauncher modifier = 0; meelemodifier = 1; break; case 0x0781FE4A: // compactlauncher modifier = 0; meelemodifier = 1; break; case 0xB62D1F67: // rayminigun modifier = 0.1; meelemodifier = 1; break; case 0xA2719263: // unarmed meelemodifier = 0.1; modifier = 1; break; case 0x958A4A8F: // bat meelemodifier = 0.15; modifier = 1; break; case 0x8BB05FD7: // flashlight meelemodifier = 0.1; modifier = 1; break; case 0xD8DF3C3C: // knuckle meelemodifier = 0.1; modifier = 1; break; case 0x678B81B1: // nightstick meelemodifier = 0.1; modifier = 1; break; } mp.game.invoke("0xCE07B9F7817AADA3", player, modifier); mp.game.invoke("0x4A3DC7ECCC321032", player, meelemodifier); //mp.gui.chat.push("Modifier: " + modifier + "MeeleModifier: " +meelemodifier); }); mp.events.add('SERVER:WeaponModifier2', (player, modifier, meelemodifier) => { //mp.gui.chat.push("Modifier steht jetzt auf" + modifier); //mp.players.local.setWeaponDamageModifier(modifier); mp.game.invoke("0xCE07B9F7817AADA3", player, modifier); mp.game.invoke("0x4A3DC7ECCC321032", player, meelemodifier); //mp.gui.chat.push("Modifier: " + modifier + "MeeleModifier: " + meelemodifier); }); mp.events.add("entityStreamIn", (entity) => { if (entity.type === "player") { entity.setSuffersCriticalHits(false); } }); mp.events.add("ADMIN:test", (weapon, pickuphash, weaponhash, ammo, x, y, z, ) => { mp.gui.chat.push("angekommen"); //mp.game.object.createPickupRotate(0xE46E11B4, 100, 100 + 3, 80, 0, 0, 0, 512, 10, 0, true, 1834241177); let pickup = mp.game.object.createPickupRotate(pickuphash, x + 2, y, z, 0, 0, 0, 512, ammo, 0, true, weaponhash); mp.events.add('render', () => { // Draw to screen. mp.game.graphics.drawText(weapon, [x + 2, y, z+ 0.5], { font: 7, color: [255, 255, 255, 185], scale: [0.4, 0.4], outline: true, centre: true }); }); mp.game.object.setPickupRegenerationTime(pickup, 1); mp.gui.chat.push("ausgeführt"); }); /*mp.events.add('playerWeaponShot', (targetPosition, targetEntity) => { for (var x in this.weaponAmmo) { if (this.weaponAmmo[x].id != this.currentWeapon) { continue; } this.weaponAmmo[x].ammo = this.weaponAmmo[x].ammo - 1; }*/ }