Помогите Неломайка всё

  • Автор темы Автор темы pagan
  • Дата начала Дата начала

pagan

Автор темы
21 Фев 2023
337
40
128
Проблема в том что раньше плагин с оксида использовал хук OnLoseCondition для обнаружения повреждений или износа объектов, на оружие он так же работает а вот на броню больше нет, альтернативу так и не нашёл может кто то подскажет?
 
Спасибо за ответ :) От души но у меня так на всех серверах хотя там плагины совершенно разные, я даже пробовал на локальном чистом, результат тот же..
C#:
BasePlayer player = GetPlayer(item);
if (player == null)
    return;
Puts($"1 Попали в {item.info.shortname}");
if ((_config.useWhiteList && (_config.WhitelistedItems.Contains($"{item.info.shortname}#{item.skin}") || _config.WhitelistedItems.Contains(item.info.shortname)) && HasPerm(player, "neverwear.use"))
    || (item.info.category == ItemCategory.Weapon && _config.useWeapons && HasPerm(player, "neverwear.weapons"))
    || (item.info.category == ItemCategory.Attire && _config.useAttire && HasPerm(player, "neverwear.attire"))
    || (item.info.category == ItemCategory.Tool && _config.useTools && HasPerm(player, "neverwear.tools")))
{
    Puts($"Попали в {item.info.shortname}");
    object result = Interface.CallHook("OnNeverWear", item, amount);
    amount = (result is float) ? (float)result : 0f;
}
Скриншот 13.06.25_07.59.42.webp
оружие инструменты работают броня нет
Скриншот 13.06.25_08.00.17.webp
Насчёт конфига а что там настраивать криво :)))
Код:
{
  "useWeapons": true,
  "useTools": true,
  "useAttire": true,
  "useWhiteList": false,
  "WhitelistedItems": [
    "hatchet",
    "pickaxe",
    "rifle.bolt",
    "rifle.ak"
  ],
  "useBlackList": false,
  "BlacklistedItems": [
    "pickaxe",
    "hatchet#65535"
  ]
}

Разрешения все выданы кроме use
Чат мне ответил следующее:
1749791339513.webp
Поэтому я просто переписал одежду на другой хук, всё стало работать...
Ещё раз спасибо за ответ :)
 
Чат мне ответил следующее:
1749791339513.webp
Верить ему. Себя не уважать. Он тебе не скажет, что не знает, он начнет нести хуйню несусветную.

И вроде я видел, ты общался с автором в GS.
И вроде с хуками там все нормально.
 
1750050269252.webp
По каким то причинам его переименовали, добавив I к названию хука, у меня 3 предположения:
Либо они хотели что то намутить с IOEntity, но что то не срослось.
Кто то случайно добавил лишний символ.
И еще как самый вероятный вариант, разграничить обычные методы от вызова методов через интерфейс, но тогда возникает вопрос почему не все хуки так переименовали.

Но вы говорите что не работает только на одежду, что очень странно
 
1750050269252.webp
По каким то причинам его переименовали, добавив I к названию хука, у меня 3 предположения:
Либо они хотели что то намутить с IOEntity, но что то не срослось.
Кто то случайно добавил лишний символ.
И еще как самый вероятный вариант, разграничить обычные методы от вызова методов через интерфейс, но тогда возникает вопрос почему не все хуки так переименовали.
И все, ковырянье пальцем в небе.

1750053033029.webp
2019 год, уже "переименован")

А если быть точным, I - означает что это Internal хук, т.е. он вначале выполняется "внутри" Oxide, а уже после каких то действий Oxide выполняет тот или иной хук, в данном случае, OnLoseCondition.
Поэтому никто, ничего не переименовывал)

Но вы говорите что не работает только на одежду, что очень странно

Работает всё, просто есть особо "умные" плагины, которые уменьшают Item.condition напрямую, а не через метод Item.LoseCondition.
Что не правильно и что естественно не ловиться "неломайкой", ибо она обрабатывает "правильное" уменьшение жизни, через метод.

И вроде, если верить переписке автора плагина и Pagan в Discord GS, данным плагином был SkillTree
 
А если быть точным, I - означает что это Internal хук, т.е. он вначале выполняется "внутри" Oxide, а уже после каких то действий Oxide выполняет тот или иной хук, в данном случае, OnLoseCondition.
Поэтому никто, ничего не переименовывал)
Буду знать, нигде об этом не слышал. Выше просто мои догадки, я ничего не утверждал.