This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Как сделать чтобы регало урон сервер Golemo

Статус
В этой теме нельзя размещать новые ответы.

.chiron

Новый участник
25 Апр 2021
77
3
69
Проблема стреляешь в игрока и не наносится урон.
 

Randomchik

Старожил
BackEnd developer
19 Сен 2020
823
290
141
2 варианта. Поправить то, что есть, либо написать свой.
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Хочешь помощи - прикрепляй код, который не работает, прикрепляй ошибку. Каждый раз приходится повторять то, что итак должно быть очевидно тем, кто хочет, чтобы им помогли.
 

.chiron

Новый участник
25 Апр 2021
77
3
69
Знать бы что прикрепить
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
2,766
1,581
211
28
Знать бы что прикрепить
Без всякого негатива, просто форум для тех, кто занимается разработкой (так или иначе), кто понимает, что такое код, где он находится, как его открыть.
Тебе нужно показать нам код, который ответственен за нанесение урона в том моде, который ты используешь.
Ошибку ты написал - "DamageErrorType1", остаётся только увидеть код именно в твоем варианте мода.
 

.chiron

Новый участник
25 Апр 2021
77
3
69
//дефолтные проценты, которые мы будем отнимать от входящего урона
let defaultPercent = {"max": 85, "min": 60};

//список оружий и их процент, который мы будем снимать с входящего урона
const weaponDamages = {
// Пистолеты
// хеш оружия
3249783761: {
//название оружия, это для нас, чтобы в будущем смогли быстро найти нужное нам оружие
"name": "Heavy Revolver",
//максимальный процент
"max": 90,
//минимальный процент
"min": 80,
//эти проценты нужны для функции рандома
},
// Пистолет пулеметы
324215364: {
"name": "Micro SMG",
"max": 80,
"min": 50
},
736523883: {
"name": "SMG",
"max": 80,
"min": 50
},
171789620: {
"name": "Combat PDW",
"max": 60,
"min": 40
},
// Пулеметы
2144741730: {
"name": "Combat MG",
"max": 65,
"min": 35
},
// Карабины
3220176749: {
"name": "Assault Rifle",
"max": 70,
"min": 45
},
// Дробовики
487013001: {
"name": "Pump Shotgun",
"max": 80,
"min": 30,
},
// Снайперы
100416529: {
"name": "Sniper Rifle",
"max": 80,
"min": 50,
},
// Холодное оружие
3441901897: {
"name": "Battle Axe",
"max": 50,
"min": 40
}
};

//Если какое-либо оружие окажется в этом списке, мы не выполним скрипт
const ignoreWeapons = {
911657153: "Stun Gun",
};

//функция генерации рандомного числа
let 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.admingm) return true;
//Задаем игроку неуязвимость, чтобы урон самой игры не прошел
targetEntity.setInvincible(true);
//Ставим стандартный процент гасения урона
let max = defaultPercent.max;
let min = defaultPercent.min;
//Если оружие, с которого стреляли, есть у нас в списке, то берем его процент гасения
if(weapon in weaponDamages){
max = weaponDamages[weapon].max;
min = weaponDamages[weapon].min;
}
//Полученный значения используем для генерации случайного значения в их диапазоне
let percent = randomInt(min, max)/100;
//Получаем кастомный урон, который будем применять
let cDamage = damage - (damage * percent);
//если попадание в голову, делим урон ещё на 10, дабы уменьшить ещё, так как в голову идет очень большой урон
if(boneIndex === 20)
cDamage = cDamage/10;
//Применяем к игроку полученный урон
targetEntity.applyDamageTo(cDamage, true);
//После нанесения урона неуязвимость будет отключена
setTimeout(() => {targetEntity.setInvincible(false);}, 25);
return true;
}
});
 

JJIGolem

Старожил
High developer
BackEnd developer
19 Окт 2020
239
288
142
JavaScript:
targetEntity.applyDamageTo(cDamage, true);
// заменяем на
targetEntity.applyDamageTo(parseInt(cDamage), true);
 
Реакции: Gastello
Статус
В этой теме нельзя размещать новые ответы.