Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
fixteam » 03 мар 2018, 13:59
На координатах игрока спавнится entity. Летит в направлении взгляда игрока. При столкновении с картой entity удаляется. НО! Возможно ли сделать такое, чтобы энтити удалялось только когда вектор направлен перпендикулярно стене, например. То есть по пологим подъемам, entity, при косании не удалялось, а поднималось по ним, а удалялось только когда лоб в лоб в стену упирается.
- Код: Выделить всё
public plugin_init() {
RegisterHam(Ham_Touch,"info_target","touch_ent")
}
public test(id){
new Float:StartOrigin[3]
new PlayerOrigin[3]
get_user_origin(id, PlayerOrigin, 0)
IVecFVec(PlayerOrigin, StartOrigin)
new ent = create_entity("info_target")
if(!pev_valid(ent)) return PLUGIN_HANDLED
entity_set_string(ent, EV_SZ_classname, "test_ent")
entity_set_model(ent, m_ent)
entity_set_origin(ent, StartOrigin)
entity_set_int(ent, EV_INT_solid, SOLID_TRIGGER)
entity_set_vector(ent, EV_VEC_mins, {-1.0, -1.0, -1.0})
entity_set_vector(ent, EV_VEC_maxs, {1.0, 1.0, 1.0})
entity_set_int(ent, EV_INT_movetype, 5)
engfunc(EngFunc_SetSize,ent,Float:{-10.0,-10.0,0.0},Float:{10.0,10.0,100.0})
new Float:Velocity[3]
VelocityByAim(id, 1000, Velocity)
entity_set_vector(ent, EV_VEC_velocity, Velocity)
}
touch_ent(ident,id){
new Classname[32]
pev(ident,pev_classname,Classname,31)
if(!equal(Classname,"test_ent")) return HAM_IGNORED
if(id==0) {
remove_entity(ident)
return HAM_IGNORED
}
}
-
fixteam
-
- Сообщения: 168
- Зарегистрирован: 19 фев 2018, 20:08
- Откуда: Москва
- Благодарил (а): 28 раз.
- Поблагодарили: 1 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn, C++, Python, Js, Php
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и гости: 9