Если вы хотите работать с объектами, то вам придется достаточно часто создавать и удалять объекты.
Например когда у игрока выпадают гранаты при смерьте и что бы они не остались лежать в следующем раунде.
Удалить объект можно с помощью функции remove_entity.
Инфо из engine.inc:
/* Remove an entity from the world. */
native remove_entity(iIndex);
remove_entity ( entity )
Тип функции:
Native
/* Plugin generated by AMXX-Studio */
#include
#include
#include
#define PLUGIN «[engine.inc] remove_entity»
#define VERSION «1.0»
#define AUTHOR «Admin»
new Ent
new g_Model[] =
public plugin_init() register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd(«say /chick»,»add_chicken»)
register_clcmd(«say /del»,»del_chicken»)
>
public plugin_precache() precache_model(g_Model)
>
public del_chicken(id) remove_entity(Ent)
КАК УДАЛИТЬ ЧИТЫ МАЙНКРАФТ?⚡ ПОЛНОСТЬЮ ОЧИСТИТЬ ПК?! МОДЕРЫ НЕ НАЙДУТ ИХ НИКОГДА ОТВЕТ СДЕСЬ
>
public add_chicken(id)
Ent = create_entity(«info_target»)
if(is_valid_ent(Ent))
entity_set_model(Ent, g_Model)
entity_set_size(Ent,Float:,Float:)
new Float:f_Origin[3]
entity_get_vector(id, EV_VEC_origin, f_Origin)
f_Origin[0] += 50.0
entity_set_origin(Ent, f_Origin)
entity_set_int(Ent,EV_INT_solid,SOLID_BBOX)
entity_set_float(Ent, EV_FL_takedamage, DAMAGE_YES)
new Float:angles[3]
angles[0] = 0.0
angles[1] = 0.0
angles[2] = 0.0
entity_set_vector(Ent,EV_VEC_angles,angles)
//DispatchSpawn(Ent)
drop_to_floor(Ent)
>
>
Описание:
Создание курочки и наделение ее «физическими» свойствами рассмотрено в соответствующих функциях.
ПО этому выполняем сразу же команду say /chick и убедившись что курочка создалась, не отрывая ни на секунду от нее своего взгляда, выполняем команду say /del. И без удивления видим, что курочка исчезла без следа.
Id курочки мы знаем, потому что записывали ее id в глобальную переменную Ent
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Комментариев: (6) Вернуться Распечатать
Источник: amxxmodx.ru
Как очистить энтити майнкрафт
Соглашение
При копировании любых материалов с данного ресурса активная ссылка на www.amx-x.ru обязательна.
lop50956 писал(а): > Скажите мне пожалуйста вы скриптер или кто? если да то уж назовите цену я же к вам собираюсь идти хлеб покупать
Я хлебоутка, приходите.
СЕКРЕТНЫЕ СОЧЕТАНИЯ КЛАВИШ | Minecraft Java Edition
Эффективный способ удалить entity
Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела «Болтовня».
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
Сообщений: 10 • Страница 1 из 1
Эффективный способ удалить entity
Ramsto0r » 21 окт 2011, 17:45
Каким способом(с гарантией стабильности, без падении) можно убрать на карте bomb plant с заложниками?
С сендвичем не очень дружу
Re: Эффективный способ удалить entity
Mon[str] » 21 окт 2011, 18:01
А почему hamsandwich
здесь мне кажется fakemeta нужна именно этот инклуд работает с entity
Re: Эффективный способ удалить entity
noo00oob » 21 окт 2011, 18:04
Ну все верно, он с ним не дружит вот и думает что через него можно весь мир завоевать.
Один фрукт, страдающий недостачей времени , нашел его ради меня любимого и писал(а):
noo00oob , зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
Re: Эффективный способ удалить entity
Mon[str] » 21 окт 2011, 18:07
noo00oob подскажи ему я fakemety плохо знаю(изучаю ).
Re: Эффективный способ удалить entity
Ramsto0r » 21 окт 2011, 18:10
noo00oob , братцы, вы либо, помогайте в теме, либо, вперед в зубы кнопку «закрыть».
Не вижу смысла обсуждать, что у меня не так. Работал с remove_ent всякой байдой. К добру не дошел.
Re: Эффективный способ удалить entity
Mon[str] » 21 окт 2011, 18:10
Уж как то это же возможно так как на surf_ski2 клетку же убрали с помощью факеметы
Re: Эффективный способ удалить entity
defa » 21 окт 2011, 18:36
engfunc ( EngFunc_RemoveEntity , entity ) ;
Re: Эффективный способ удалить entity
noo00oob » 21 окт 2011, 18:54
Так любое удаление приведет к вызову этой функции в движке.
Один фрукт, страдающий недостачей времени , нашел его ради меня любимого и писал(а):
noo00oob , зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
Re: Эффективный способ удалить entity
quckly » 21 окт 2011, 19:40
fm_remove_entity_name ( «ИМЯ ЭНТИТИ» ) ;
while ( ( ent = engfunc ( EngFunc_FindEntityByString , ent, «classname» , «ИМЯ ЭНТИТИ» ) ) )
engfunc ( EngFunc_RemoveEntity , ent ) ;;
Re: Эффективный способ удалить entity
defa » 21 окт 2011, 20:14
Нельзя просто воспользоваться вышеприведенной мною функцией, чтобы удалить оружие, которые уже не в руках игрока,которое взаимодействует с weaponbox.
Сообщений: 10 • Страница 1 из 1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
- Список форумов
- Наша команда • Удалить cookies конференции • Часовой пояс: UTC + 3 часа [ Летнее время ]
Источник: amx-x.ru
Удаление/изменение параметров энтити в скомпилированных картах
Приветствую!
В моей жизни часто бывали ситуации, когда было необходимо удалить лишнюю лестницу, дверь, ящик, звук или же что угодно из уже скомпилированной карты. Самые главные преимущества этого способа: всё происходит без вмешательства amxx, и игрокам не нужно перекачивать карту заново. К сожалению, полностью карту изменить нельзя, однако, многое поддается редактированию.
Можно изменить любые параметры любых энтити на карте, а также, добавить свои (исключение — брашевые энтити, их добавить нельзя).
Удаление энтити
Рассмотрим удаление на простом примере: удалим звук дождя и сам дождь со стандартной карты de_aztec.
Берем любой редактор, лично мне нравится EntEd.zip
Интерфейс программы чрезвычайно прост. В левой части находится список всех энтити на карте, а в правой их подробные параметры:
1. Убираем звук дождя.
Открываем с помощью чудесной программы карту, и ищем (встроенным поиском, либо вручную) нужную нам энтити. Звуки, как правило, воспроизводит ambient_generic. В параметрах указано «message» «ambience/rain.wav», а это как раз и есть звук дождя.
На скрине я выделил все параметры одной из ambient_generic.
На карте de_aztec автор расставил несколько таких звуков в различных местах карты, нам потребуется удалить их все. Для этого нужно всего лишь.. удалить параметры каждой ambient_generic, где указан соответствующий звук.
2. Убираем сам дождь.
И так, после первой части туториала вы стали профессионалом в этом деле, поэтому процесс удаления самого дождя будет для вас не труден.
Дождь создается на карте с помощью env_rain.
Находим её, и удаляем аналогично звукам.
- Таким же образом можно удалить и брашевые энтити, например, воду (func_water).
Редактирование энтити
1. Редактирование точечных энтити.
Допустим, вы решили не удалять звук дождя, а вставить вместо него великолепный звук Оперы из карты cs_italy, чтобы порадовать ушки ваших любимых игроков.
Находим нужную вам ambience_generic, и просто заменяем значение параметра «message» на «ambience/Opera.wav».
было
стало
Вот и всё! (Не забудьте сохранить и перезаписать )
- Нельзя редактировать параметры солнца и лампочек (light_environment, light..). Точнее, редактировать-то их можно, но всё освещение на карте просчитывается во время компиляции карты, поэтому изменить выйдет лишь освещение моделей.
2. Редактирование брашевых энтити.
Окей, а можно ли вращающуюся дверь на карте cs_assault сделать разрушаемой? — Да запросто! (Шучу, немного сложнее). И она перестанет открываться.
Открываем карту cs_assault с помощью EntEd, и находим func_door_rotating — эта энтити определяет вращающуюся дверь.
Теперь нам нужно поменять все эти параметры на те, что соответствуют энтити func_breakable — она определяет разрушаемый объект, типа решетки вентиляции или стёкол внутри склада. Найдем их в этой же карте, чтобы нам было проще их копировать.
Внимание! Никогда НЕ изменяйте первый параметр «model», т.к именно он указывает на то, какой «браш» будет иметь данные свойства.
Я не использовал никакие просмотрщики карт, а просто пробежался по списку и нашел такие параметры:
«model» «*61»
«rendermode» «0»
«renderfx» «0»
«explodemagnitude» «0»
«spawnobject» «0»
«explosion» «0»
«material» «1»
«health» «25»
«delay» «0»
«rendercolor» «0 0 0»
«renderamt» «0»
«classname» «func_breakable»
>
Судя по всему, это разрушаемая деревянная табличка на карте. Об этом говорит «material» «1», так как 1 — означает дерево (подробнее смотрите в параметрах func_breakable), ну а больше деревянных вещей на карте нет. Ну и замечательно для примера. Возьмем и сделаем параметры func_door_rotating точно такими же (кроме параметра «model»!)
было
стало
По желанию, можете изменить параметр «material», например, на 2 — металл, и параметр «health» — здоровье, на любое количество, которое хотите. И вообще, всё что угодно можете менять, только вначале разберитесь, что к чему
- Редактировать можно любые параметры любых энтити, главное, это понимать, что выделаете. В этом деле вам поможет список (почти)всех энтити и их параметров.
- Для легкого, точного и быстрого поиска нужного объекта, рекомендую использовать программы типа BSPViewer.
Источник: dev-cs.ru