$2000$ без гранат.

d3m37r4

111111
Сообщения
1,426
Реакции
1,167
Помог
10 раз(а)
т. к. изменения в энтити листе можно тестить прямо в клиенте КС. Намного практичнее.
Как бы то же самое и получается в способе, выше, если что. И ничего компилить не надо. Просто карту рестартнуть.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
d3m37r4, какая компиляция? В BSPEdit всё в несколько нажатий делается. Спсобы одинаково удобные, но твой только в том случае, если есть тестовый сервер, на котором можно хоть 500 раз карту перезапустить.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
d3m37r4, ну, прикинь, через энтити лист можно не только удалять фигнюшки какие-то не нужные. А можно производить манипуляции например с брашевыми энтити, что иногда требует тестов.
 
Последнее редактирование:
Сообщения
1,177
Реакции
2,144
Помог
57 раз(а)
CHEL74, вот именно. в файлзилле открыл ent-файл, поменял, сохранил, оно само говорит "залить?", - да. Перезапуск карты в hlsw, тест. А сколько действий надо в случае с bspedit? Опять ты со своим фетишизмом, купи уже ведро за 50 рублей, перестань мучаться.
 
Сообщения
2,491
Реакции
2,790
Помог
61 раз(а)
Спор ни о чем. Квар крут и меняет прям на сервере без необходимости качать карту, менять ее. Тот же BSPEdit делает по сути то же самое. Меняет ентити лист. Оба подхода основаны на одном и том же принципе. И последнее: если карт уж слишком много и везде нужно убрать грены, то проще плагином заблокировать спавн (как это сделано в плагине fl0wer), чем менять 100500 карт (и если это какой-то мод). Поймите уже. Не всегда есть одно верное решение. Иногда верность того или иного напрямую зависит от задачи которую нужно решить. И исходя уже из задачи выбирается тот или инной способ.
 
Сообщения
473
Реакции
249
Помог
6 раз(а)
BlackSignature, да при чём тут я? При чём ведро? fantom золотые слова сказал, исходить нужно из задачи. Для моих целей мне удобно локально всё делать, через клиент, о каком фетишизме речь?

Возьмём простого админа, который не нуждается в частых тестах чего-либо, а просто увидел эту тему и решил поиграться с энтити листом. Он чё для этого будет тестовый сервак поднимать? Или тем более локально с ХЛДС запариваться? Смешно же.
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
Информация с другого форума, как давно я этот плагин переделал под себя. (там просто нужно поменять модели оружия, на модели гранат)

Т.е ты указываешь названия моделей гранат, и делаешь работу плагина только на карте $2000$


C++:
//■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■//

#define ACCESS_FLAG         ADMIN_LEVEL_B

#define MAX_MODEL_LEN         32

new const BLOCK_MODELS[][MAX_MODEL_LEN] = {
    "models/custom/w_awp.mdl",
    "models/w_usp.mdl",
    "models/w_my_custom_model.mdl"
}

//■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■//

#include <amxmodx>
#include <engine>

#define IsEntOnGround(%1)             (entity_get_int(%1, EV_INT_flags) & FL_ONGROUND)
#define UserHasAccess(%1)             (get_user_flags(%1) & ACCESS_FLAG)


public plugin_init()
{
    register_plugin("Block Pickup Gold Weapon", "0.0.1", "Vaqtincha")
    register_touch("weaponbox", "player", "OnWeaponboxTouch")
}

public OnWeaponboxTouch(wEnt, id)
{
    if(/* !is_user_alive(id) || */ UserHasAccess(id) || !IsEntOnGround(wEnt))
    {
        return PLUGIN_CONTINUE
    }

    static szModel[MAX_MODEL_LEN]
    entity_get_string(wEnt, EV_SZ_model, szModel, charsmax(szModel))

    for(new i = 0; i <sizeof(BLOCK_MODELS); i++)
    {
        if(!strcmp(szModel, BLOCK_MODELS[i]))
        {
            client_print(id, print_center, "Only VIPs!") // print_center flood 100/sec :D
            return PLUGIN_HANDLED
        }
    }
   
    return PLUGIN_CONTINUE
}
Причем тут веапонбокс вообще? Если на карте армоури расставлены.
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
fl0wer, привет, там показан пример блокировки моделей.
7 Апр 2020
Код не мой, а вактинчи
7 Апр 2020
fl0wer, а гранаты это не оружие?
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
wellasgood, откуда там взятся веапонбоксам гранат?
 
Сообщения
1,408
Реакции
182
Помог
2 раз(а)
я пока это не курил в плане скриптинга, но как то давно я делал и оно работало, я прост оуказывал модели гранат и вроде бы оставлял веапонбокс
7 Апр 2020
т.е оно блокирует поднятие при касании с моделью гранаты таким образом
 
Последнее редактирование:
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Как вариант, можешь попробовать ловить спавн armoury_entity и удалять ненужные вовсе. Типо такого:

Код:
#include <amxmodx>
#include <hamsandwich>
#include <reapi>

const DELETE_ARMOURY = (
    (1 << any:ARMOURY_FLASHBANG)
    |(1 << any:ARMOURY_HEGRENADE)
);

public plugin_init() {
    RegisterHam(Ham_Spawn, "armoury_entity", "hamfwd_ArmourySpawn_Post", .Post = true);
}

public hamfwd_ArmourySpawn_Post(iEntity) {
    new iArmouryItem = get_member(iEntity, m_Armoury_iItem);
  
    if(DELETE_ARMOURY & (1 << iArmouryItem)) {
        set_entvar(iEntity, var_flags, FL_KILLME);
    }
}
7 Апр 2020
Или вовсе заблокируй спавн конкретных айтемов этой энтити, по типу того, как делал fl0wer тут: https://dev-cs.ru/resources/947/field?field=source
 
Последнее редактирование:
Сообщения
79
Реакции
30
Помог
2 раз(а)
Сообщения
617
Реакции
130
Предупреждения
5
Помог
10 раз(а)
Скиньте сюда карту, я вам удалю все гранаты без всяких плагинов и декомпиляции!
 
Сообщения
617
Реакции
130
Предупреждения
5
Помог
10 раз(а)
Карта «$2000$» без гранат.
Название карты менять не надо.
Минутная работа с энтити.
 

Вложения

  • 614 KB Просмотры: 18

d3m37r4

111111
Сообщения
1,426
Реакции
1,167
Помог
10 раз(а)
Карта «$2000$» без гранат.
Название карты менять не надо.
Минутная работа с энтити.
Только игроков, у которых уже есть карта, не пустит на сервер, т.к. она не соответствует той, что ты скинул. Способ с редактированием списка энтити позволяет этого избежать.

irinaxariton, https://dev-cs.ru/threads/6420/ чтобы визуально энтити найти то, что хочешь удалить, все-равно понадобится редактор.
 
Сообщения
79
Реакции
30
Помог
2 раз(а)
Только игроков, у которых уже есть карта, не пустит на сервер, т.к. она не соответствует той, что ты скинул. Способ с редактированием списка энтити позволяет этого избежать.
именно по этой причине данный способ в приоритете
@irinaxariton, https://dev-cs.ru/threads/6420/ чтобы визуально энтити найти то, что хочешь удалить, все-равно понадобится редактор.
к сожалению все сорсы в топике по ссылке битые ;(
 

d3m37r4

111111
Сообщения
1,426
Реакции
1,167
Помог
10 раз(а)
irinaxariton, в общем, пропиши sv_use_entity_file 2, чтобы при загрузке карты создался файл формата *.ent в папке maps (потом можно юзать sv_use_entity_file 1, чтобы для других карт файлики не создавало). Файл имеет такое же название как карта (пример $2000$.ent) и открывается в текстовом редакторе. В этом файле содержится список используемых энтити на карте (спавны, байзоны, заложники, бомбплейсы, армори энтити и т.д.). Тебе нужно удалить армори энтити, как писали в этом посте. Ищешь, удаляешь, сохраняешь файлик, перезагружаешь карту.
 
  • Нравится
Реакции: ssx

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

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