Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
hren_morjovui » 26 авг 2019, 20:40
Подскажите почему при таком вот расскладе пуля один фиг летит дальше и наносит урон? -_-
- Код: Выделить всё
RegisterHam(Ham_TraceAttack, create_entity_classname, "Ham_TraceAttack_Player", false);
public Ham_TraceAttack_Player(entity_id, attacker_id, Float:damage, Float:direction[3], tr_id, damagebits)
{
if(pev(entity_id, IS_BLOCK_ENTITY))
{
set_tr(TR_vecEndPos, Float:{4096.0,4096.0,4096.0});
set_tr(TR_AllSolid, 1);
set_tr(TR_pHit, 0);
set_tr(TR_iHitgroup, 0);
set_tr(TR_flFraction, 1.0);
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
nato » 27 авг 2019, 11:02
Причин может быть много. Может быть не выполняется условие:
- Код: Выделить всё
if(pev(entity_id, IS_BLOCK_ENTITY))
Вот тут непонятно на какой classname зарегистрирован хам
create_entity_classname
Если это какой ваш classname, а не стандартный, то насколько я помню ham не регистрируется на нестандартные класнеймы.
-
nato
-
- Сообщения: 346
- Зарегистрирован: 06 июл 2011, 17:45
- Благодарил (а): 30 раз.
- Поблагодарили: 91 раз.
- Опыт программирования: Около года
- Языки программирования: Counter-Strike 1.6
hren_morjovui » 27 авг 2019, 11:34
nato писал(а):Причин может быть много. Может быть не выполняется условие:
- Код: Выделить всё
if(pev(entity_id, IS_BLOCK_ENTITY))
Вот тут непонятно на какой classname зарегистрирован хам
create_entity_classname
Если это какой ваш classname, а не стандартный, то насколько я помню ham не регистрируется на нестандартные класнеймы.
"func_brekable" и условия проверял, всё выполняется
Добавлено спустя 16 минут 41 секунду:В общем решил костылями, блокирует прострел через объект но самому объекту урон наносит.
- Код: Выделить всё
public plugin_init()
{
register_plugin("BLA", "1.0", "BLABLA");
RegisterHam(Ham_TraceAttack, create_entity_classname, "ham_trace_attack", false);
RegisterHam(Ham_TraceAttack, "player", "ham_trace_attack", false);
}
is_my_entity(const entity_id)
{
static
owner_id,
classname[34];
if(pev_valid(entity_id) == 2)
{
owner_id = pev(entity_id, IS_NEED_ENTITY);
if(get_player_status(owner_id))
{
pev(entity_id, pev_classname, classname, 32);
if(equal(shield_classname,classname))
return owner_id;
}
}
return 0;
}
public ham_trace_attack(entity_id, attacker_id, Float:damage, Float:direction[3], tr_id, damagebits)
{
static
owner_id,
old_owner_id;
owner_id = is_my_entity(entity_id);
if(old_owner_id && !owner_id)
{
old_owner_id = owner_id;
return HAM_SUPERCEDE;
}
else
old_owner_id = owner_id;
return HAM_IGNORED;
}
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16