Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Knife Scratch

, Помогите убрать баг
Статус пользователя tenb63rus
сообщение 23.7.2014, 17:59
Сообщение #1


Стаж: 12 лет

Сообщений: 817
Благодарностей: 476
Полезность: 850

Всем привет!
Есть такой плагин - Knife Scratch, он добавляет искры и следы от ножа, когда чиркаешь по стенкам/полу.
Исходник
Код:

#include amxmodx
#include fakemeta

new decal

public plugin_init() {
register_forward(FM_EmitSound, "forward_emit_sound")
decal = engfunc(EngFunc_DecalIndex,"{bproof1")
register_plugin("Knife Scratch", "1.0", "PahanCS")
}

public forward_emit_sound(id, channel, const Sound[]) {
if(!equali(Sound, "weapons/knife_hitwall1.wav"))
return FMRES_IGNORED
if(!is_user_alive(id))
return FMRES_IGNORED
static iStart[3], iEnd[3]
get_user_origin(id, iStart)
get_user_origin(id, iEnd, 3)
if((pev(id, pev_button) & IN_ATTACK || pev(id, pev_oldbuttons) & IN_ATTACK) && get_distance(iStart, iEnd) < 66) {
static ent, body
get_user_aiming(id, ent, body)
create_decal(iEnd, decal, true, ent)
}
else if((pev(id, pev_button) & IN_ATTACK2 || pev(id, pev_oldbuttons) & IN_ATTACK2) && get_distance(iStart, iEnd) < 51) {
static ent, body
get_user_aiming(id, ent, body)
create_decal(iEnd, decal, true, ent)
}
else
return FMRES_SUPERCEDE // This therefor that was will not begin sound.
return FMRES_IGNORED
}

stock create_decal(iOrigin[3], decal_index, bool:create_sparks = false, entity = 0) {
if(decal_index && !entity) {
message_begin(MSG_ALL, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_byte(decal_index)
message_end()
}
else if(decal_index && !is_user_alive(entity) && pev_valid(entity)) {
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_DECAL)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_byte(decal_index)
write_short(entity)
message_end()
}
if(create_sparks) {
message_begin(MSG_ALL, SVC_TEMPENTITY)
write_byte(TE_SPARKS)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
message_end()
}
return 1
}


В нем есть небольшой баг - когда стоишь к стенке вот под таким углом, то пропадает звук удара о стенку (и правой и левой кнопкой мыши)
Скриншот


Хотелось бы убрать этот баг, вообщем нужна оптимизация, надеюсь на вашу помощь.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Stimul1
сообщение 23.7.2014, 18:19
Сообщение #2


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

tenb63rus, удали:
Код:
else
return FMRES_SUPERCEDE // This therefor that was will not begin sound.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя tenb63rus
сообщение 23.7.2014, 19:31
Сообщение #3


Стаж: 12 лет

Сообщений: 817
Благодарностей: 476
Полезность: 850

Цитата(Stimul1 @ 23.7.2014, 18:19) *
tenb63rus, удали:
Код:
else
return FMRES_SUPERCEDE // This therefor that was will not begin sound.

Боже я слепой, спасибо thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: