Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
f0Re3t » 05 фев 2019, 19:14
Привет всем. Пишу свои пушки по сурсам которые есть в паблике. Заметил одну проблему - если владелец пушки наводит прицел на основание пушки - не выводится информация о ней, а так же урон по основанию не проходит. Если же навести на саму пушку - все работает. Все стабильно работает если наводить и стрелять по пушкам врага или союзников.
Вы должны зарегистрироваться, чтобы видеть ссылки.Вы должны зарегистрироваться, чтобы видеть ссылки.Код урона по пушке и нацеливание прикладываю.
- Код: Выделить всё
public fw_TraceLine_Post(Float:start[3], Float:end[3], noMonsters, id)
{
if(!is_valid_player(id) || is_user_bot(id) || !is_user_alive(id))
return FMRES_IGNORED
new iHitEnt = get_tr(TR_pHit)
if(iHitEnt <= g_iMaxPlayers)
return FMRES_IGNORED
new sClassName[11], sentry, base
pev(iHitEnt, pev_classname, sClassName, charsmax(sClassName))
if(equal(sClassName, "sentrybase"))
{
base = iHitEnt
sentry = entity_get_edict(iHitEnt, BASE_ENT_SENTRY)
}
else if(equal(sClassName, "sentry"))
{
sentry = iHitEnt
base = entity_get_edict(sentry, SENTRY_ENT_BASE)
}
if(!pev_valid(sentry) || !pev_valid(base))
return FMRES_IGNORED
if(GetSentryFiremode(sentry) == SENTRY_FIREMODE_NUTS)
return FMRES_IGNORED
new Float:health = entity_get_float(sentry, EV_FL_health)
if(health <= 0)
return FMRES_IGNORED
new Float:basehealth = entity_get_float(base, EV_FL_health)
if(basehealth <= 0)
return FMRES_IGNORED
new team = GetSentryTeam(sentry)
if(team != _:cs_get_user_team(id))
return FMRES_IGNORED
new level = GetSentryLevel(sentry)
static tempStatusBuffer[192], tempStatusBuffer2[192]
new OwnName[33]
get_user_name(GetSentryPeople(sentry, OWNER), OwnName, 32)
formatex(tempStatusBuffer, charsmax(tempStatusBuffer), "Установил: %s^nЗдоровье верхней части: %d из %d", OwnName, floatround(health), floatround(g_HEALTHS[level]))
formatex(tempStatusBuffer2, charsmax(tempStatusBuffer2), "^n^nЗдоровье основания: %d из %d^nУровень: %d", floatround(basehealth), floatround(g_HEALTHSLOWER[level]), level + 1)
set_dhudmessage(_:team == 1 ? 150 : 0, 0, _:team == 2 ? 150 : 0, -1.0, 0.35, 0, 0.0, 0.6, 0.0, 0.0)
show_dhudmessage(id, tempStatusBuffer)
show_dhudmessage(id, tempStatusBuffer2)
return FMRES_IGNORED
}
- Код: Выделить всё
public fw_TakeDamage(ent, idinflictor, idattacker, Float:damage, damagebits)
{
if(!pev_valid(ent))
return HAM_IGNORED
new sClassname[11], sentry, base
entity_get_string(ent, EV_SZ_classname, sClassname, charsmax(sClassname))
if(equal(sClassname, "sentrybase"))
{
base = ent
sentry = entity_get_edict(base, BASE_ENT_SENTRY)
}
else if(equal(sClassname, "sentry"))
{
sentry = ent
base = entity_get_edict(sentry, SENTRY_ENT_BASE)
}
if(pev_valid(sentry))
{
new iOwner = GetSentryPeople(sentry, OWNER)
if(!is_user_connected(iOwner) || !is_valid_player(iOwner) || !is_user_connected(idattacker) || !is_valid_player(idattacker))
return HAM_IGNORED
if(cs_get_user_team(iOwner) == cs_get_user_team(idattacker) && idattacker != iOwner)
return HAM_SUPERCEDE
}
return HAM_IGNORED
}
-
f0Re3t
-
- Сообщения: 3
- Зарегистрирован: 18 авг 2014, 20:30
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
NightFury » 05 фев 2019, 20:18
А основание и сама пушка это разве не 2 ентити? Скручивай модель в одну и работай анимацией, сетсайз будет один
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
-
NightFury
-
- Сообщения: 85
- Зарегистрирован: 10 авг 2016, 12:22
- Благодарил (а): 8 раз.
- Поблагодарили: 24 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn, C, C++
f0Re3t » 05 фев 2019, 20:24
Да, пушка и основание разделено на 2 ентити. Возможно ли как-то обойтись без скручивания в единую модель, ибо для союзников и врагов же работает отлично?
-
f0Re3t
-
- Сообщения: 3
- Зарегистрирован: 18 авг 2014, 20:30
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
NightFury » 05 фев 2019, 21:56
ну это бредово создавать пушки на пару ентить, лучше сразу нарисовать хорошую модель и написать хороший код, а то опять велосипед выйдет
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
-
NightFury
-
- Сообщения: 85
- Зарегистрирован: 10 авг 2016, 12:22
- Благодарил (а): 8 раз.
- Поблагодарили: 24 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn, C, C++
f0Re3t » 05 фев 2019, 22:00
велосипед и так уже написан)) осталось только вот это как-то поправить, а на хорошую модель и код как нибудь потом время найду... так что, это никак что ли не исправить на таком варианте?
-
f0Re3t
-
- Сообщения: 3
- Зарегистрирован: 18 авг 2014, 20:30
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
NightFury » 06 фев 2019, 00:54
вешай один и тот же класснейм и к каждой создавай сетсайз, худ можешь дублировать с оного, можешь делить как некоторые по типу хп пенька и хп пухи
Подпись: NightFury/406
Поддержка: vk.com/mashakrylova406
-
NightFury
-
- Сообщения: 85
- Зарегистрирован: 10 авг 2016, 12:22
- Благодарил (а): 8 раз.
- Поблагодарили: 24 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn, C, C++
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7