• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Кастомный дамаг

zxchooseee

Новый участник
16 Май 2024
4
0
20
использую этот код

const {
ignoreWeapons,
damageWeapons,
damageWeaponGroups
} = require('./src/weapons/damageHandler/settings.js');
// The value from this range will determine what percentage of the original damage will be cut
const defaultPercent = {
max: 13,
min: 8
}
const randomInt = (min, max) => Math.random() * (max - min) + min;
mp.events.add("incomingDamage", (sourceEntity, sourcePlayer, targetEntity, weapon, boneIndex, damage) => {

if (targetEntity.type === "player" && sourcePlayer && !(weapon in ignoreWeapons)) {
if (global.adminGodMode) {
return true;
}
let max = defaultPercent.max;
let min = defaultPercent.max;
let damage = 0;
const weaponGroupHash = mp.game.weapon.getWeapontypeGroup(weapon);
if (weapon in damageWeapons) {

damageC = damageWeapons[weapon].damage;

} else if (weaponGroupHash in damageWeaponGroups) {
max = damageWeaponGroups[weaponGroupHash].max;
min = damageWeaponGroups[weaponGroupHash].min;
}
const percent = randomInt(min, max) / 100;

let customDamage = damage - (damage * percent);
// Check for a hit in the head. A hit to the head carries with it much more damage than on other points of the body.
if (boneIndex === 20) {
customDamage /= 10;
}

const currentHealthdo = targetEntity.getHealth();
targetEntity.applyDamageTo(damageC, false);
const currentHealth = targetEntity.getHealth();
// This check is necessary in order for the "PlayerDeath" event to be triggered if the player died after taking damage
if (currentHealth > 0) {
// Setting the initial damage received in the event to 0
mp.game.weapon.setCurrentDamageEventAmount(0);
}
mp.game.graphics.notify(Percent ${percent} customDamage ${customDamage} currentHealth ${currentHealth} Health ${targetEntity.getHealth()} Healthdo ${currentHealthdo} Damage ${damage} Weapon${weapon});
}
})
в последней строчке вывожу данные,и они все верные.Но при тесте в игре ревик дает по 45 дамага,а умираю я за 2 выстрела,что делать?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
1,821
195
5
Похоже, что проблема может быть связана с вычислением кастомного урона в вашем коде. Убедитесь, что правильно применяется кастомный урон к цели в зависимости от типа оружия и точки попадания. Проверьте также правильность вычисления урона для различных частей тела, например, головы.

Также в коде есть опечатка, где переменная min устанавливается равной defaultPercent.max, а не defaultPercent.min. Исправьте это, чтобы минимальный процент отсечения урона устанавливался правильно.