Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
Don Corleone » 30 дек 2017, 20:05
Здравствуйте, не подскажите как исправить данную ошибку?
- Код: Выделить всё
[ENGINE] Invalid entity 144
L 12/30/2017 - 15:24:38: [AMXX] Displaying debug trace (plugin "amx_heconc.amxx")
L 12/30/2017 - 15:24:38: [AMXX] Run time error 10: native error (native "entity_get_string")
L 12/30/2017 - 15:24:38: [AMXX] [0] amx_heconc.sma::hedamage_event (line 75)
- Код: Выделить всё
public plugin_init() {
register_plugin("HE Knockback", "1.0", "ThantiK")
register_event("Damage", "hedamage_event", "b", "2!0", "4!0", "5!0", "6!0")
register_cvar("he_push","20.0")
}
stock get_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3] )
{
new Float:fEntOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fEntOrigin );
new Float:fDistance[3];
fDistance[0] = fEntOrigin[0] - fOrigin[0];
fDistance[1] = fEntOrigin[1] - fOrigin[1];
fDistance[2] = fEntOrigin[2] - fOrigin[2];
new Float:fTime = ( vector_distance( fEntOrigin,fOrigin ) / fSpeed );
fVelocity[0] = fDistance[0] / fTime;
fVelocity[1] = fDistance[1] / fTime;
fVelocity[2] = fDistance[2] / fTime;
return ( fVelocity[0] && fVelocity[1] && fVelocity[2] );
}
stock set_velocity_from_origin( ent, Float:fOrigin[3], Float:fSpeed )
{
new Float:fVelocity[3];
get_velocity_from_origin( ent, fOrigin, fSpeed, fVelocity )
entity_set_vector( ent, EV_VEC_velocity, fVelocity );
return ( 1 );
}
public hedamage_event(id) {
new MAXPLAYERS
MAXPLAYERS = get_maxplayers()
new inflictor = entity_get_edict(id, EV_ENT_dmg_inflictor)
if (inflictor <= MAXPLAYERS)
return PLUGIN_CONTINUE
new classname2[8]
entity_get_string(inflictor, EV_SZ_classname, classname2, 7)
if (!equal(classname2, "grenade"))
return PLUGIN_CONTINUE
new Float:upVector[3]
upVector[0] = float(read_data(4))
upVector[1] = float(read_data(5))
upVector[2] = float(read_data(6))
new damagerept = read_data(2)
set_velocity_from_origin(id, upVector, get_cvar_float("he_push")*damagerept)
return PLUGIN_CONTINUE
}
-
Don Corleone
-
- Сообщения: 79
- Зарегистрирован: 23 окт 2016, 16:13
- Благодарил (а): 5 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
Subb98 » 30 дек 2017, 20:07
Don Corleone, добрый вечер. Нужно добавить проверку на валидность entity.
Вы должны зарегистрироваться, чтобы видеть ссылки.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
БиЗоН » 02 янв 2018, 19:34
- Код: Выделить всё
if(!is_valid_ent(iEnt))
return PLUGIN_CONTINUE;
>>
- Код: Выделить всё
public hedamage_event(id) {
new MAXPLAYERS
MAXPLAYERS = get_maxplayers()
new inflictor = entity_get_edict(id, EV_ENT_dmg_inflictor)
if (inflictor <= MAXPLAYERS)
return PLUGIN_CONTINUE
if(!is_valid_ent(inflictor)) return PLUGIN_CONTINUE
new classname2[8]
entity_get_string(inflictor, EV_SZ_classname, classname2, 7)
if (!equal(classname2, "grenade"))
return PLUGIN_CONTINUE
new Float:upVector[3]
upVector[0] = float(read_data(4))
upVector[1] = float(read_data(5))
upVector[2] = float(read_data(6))
new damagerept = read_data(2)
set_velocity_from_origin(id, upVector, get_cvar_float("he_push")*damagerept)
return PLUGIN_CONTINUE
}
Вечно занятой. Вечно в павне.
-
БиЗоН
-
- Сообщения: 165
- Зарегистрирован: 24 мар 2014, 21:05
- Благодарил (а): 10 раз.
- Поблагодарили: 49 раз.
- Опыт программирования: Больше трех лет
-
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5