Spawn Ammo In Map

Сообщения
74
Реакции
61
Помог
1 раз(а)
Всем привет, решил заспавнить боеприпасы на карте, все вроде как окей, но движок после взятия их спавнит через время снова. Какой мембер за это отвечает? Устал искать. Ну, или может система другая немного. Думал через Touch на ReAPI отловить и вручную удалить обьект навсегда с проверкой на патроны, но этот тач как я понял вызывается ДО основного тача. Какие есть варианты, без лишнего геморроя и лишних регистраций тача? Хочу так же, как с aurmory реализовать

Скрин: Скриншот 22-11-2020 184132.jpg
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
AnonymousAmx, вариант один. Заглянуть в регейм (ammo.cpp файл) и попытатся понять что там происходит
22 Ноя 2020
Код:
int CHalfLifeMultiplay::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo)
{
    if (pAmmo->pev->spawnflags & SF_NORESPAWN)
    {
        return GR_AMMO_RESPAWN_NO;
    }
 
    return GR_AMMO_RESPAWN_YES;
}
Дальше сами
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
fantom, это проверка на "заспавнились ли БП", вроде вкуриваю, но чето не совсем то. Сейчас попробую проверить
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
AnonymousAmx, эта проверка на нужно ли респаунить ентити.
П.С. если уж и используете реапи, то почему б не создать ентити с его помощью. Под капотом все то же самое и избавляет вас от хранения поинтеров на строку.
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
fantom, ну я понял за что проверка отвечает. но не могу понять, где в коде идет запрать на перереспавн. Энтити, вы про то чтоб создать кастомный обьект, ловить его касание и выдавать БП? Я принципиально, хочу реализовать на уровне движка это
 
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
AnonymousAmx, нет. Я про то чтобы использовать create_entity или rg_create_entity.
Ну давайте посмотрим в исходник регейма и увидим что респавна не будет если в pev spawnflags есть бит. Где его установить уже сами. Давать готовое решение я не буду. Ну и вместо ловить тач лучше хукать addammo проверяя результат.
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
fantom, спасибо, изучив модули, я понял про что ты.
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) = 0; // should this ammo item respawn?
Но всё же, можешь подсказать, как мне этот запрет поставить? Что-то, смотрю библиотке ReAPI по AMXX, не могу вдуплить никак. Просто делаю плагин не только исключительно под ReAPI
22 Ноя 2020
fantom, вот я заспавнил обьект, добавил ему SetTouch, и в нем var_spawnflags | SF_NORESPAWN
?
22 Ноя 2020
Всё, решил проблему, спасибо Фантому. Изначально, я думал SF_NORESPAWN нужен чтобы обьект вообще мог заспавниться на карте (при первом создании)
 
Последнее редактирование:
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
AnonymousAmx,
если ты тот, о ком я дуамю, то ты теперь можешь продавать мега сборки ксдм за 100 рублей)0
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
steelzzz, не, g3cKpunTop мой ник , я не занимаюсь КСДМ ) А плагин опубликую потом
 
Сообщения
594
Реакции
350
Предупреждения
1
Помог
9 раз(а)
AnonymousAmx, все, понял, кто ты, сори
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу