AMX MOD X
Пятница, 08.08.2025, 06:39:20



Приветствую Вас Гость | RSS
[ Главная ] [ Помогите отловить баг - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Помогите отловить баг
se7hДата: Понедельник, 10.03.2008, 11:05:49 | Сообщение # 1
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
Плагин вызывающий звук сердцебиения когда здоровье игрока меньше определённого уровня, но он не работает, подскажите пожайлуста что не так

Code
/* AMX Mod X Plugin
*  
* (c) Copyright 2008, ConnorMcLeod  
* This file is provided as is (no warranties).  
*  
*/  

#include <amxmodx>

#define VOL_NULL    0.0
#define VOL_MID    0.4
#define FLAG_NONE    0
#define PITCH_NONE    0

new const g_heartbeat[] = "player/heartbeat1.wav"

new g_pcvarLowHp

public plugin_precache()
{
     precache_sound(g_heartbeat)
}

public plugin_init()
{
     register_plugin("Low Hp Heart Beat", "0.1", "ConnorMcLeod")

     g_pcvarLowHp = register_cvar("heartbeat_hp", "20")

     register_event("Damage", "e_Damage", "be", "2>0")
     register_event("DeathMsg", "e_DeathMsg", "a")
}

public e_Damage(id)
{
     if( get_user_health(id) > get_pcvar_num(g_pcvarLowHp) )
         return

     emit_sound(id, CHAN_BODY, g_heartbeat, VOL_NULL, ATTN_NONE, SND_STOP, PITCH_NONE)
     emit_sound(id, CHAN_BODY, g_heartbeat, VOL_MID, ATTN_NORM, FLAG_NONE, PITCH_NORM)
}

public e_DeathMsg()
{
     emit_sound(read_data(2), CHAN_BODY, g_heartbeat, VOL_NULL, ATTN_NONE, SND_STOP, PITCH_NONE)
}


 
DaTaДата: Понедельник, 10.03.2008, 15:28:34 | Сообщение # 2
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
может по каналу CHAN_BODY проходит другой звук и останавливает сердцебиение?
 
se7hДата: Понедельник, 10.03.2008, 17:20:19 | Сообщение # 3
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
Quote (DaTa)
может по каналу CHAN_BODY проходит другой звук и останавливает сердцебиение?

если б я знал blush


 
DaTaДата: Понедельник, 10.03.2008, 18:12:11 | Сообщение # 4
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
ну когда ты стреляешь в кого-то, то, по идее, его тело от пуль издает "ляпы", и проигрывается по этому каналу звук попадания пули в плоть и потом канал пустой :)
попробуй использовать другие каналы (читай amxconst.inc)
 
se7hДата: Понедельник, 10.03.2008, 21:54:07 | Сообщение # 5
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
плагин не я писал, можешь помочь?

 
BruteДата: Вторник, 11.03.2008, 01:06:26 | Сообщение # 6
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
Quote (se7h)
плагин не я писал,

А кто?
 
DaTaДата: Вторник, 11.03.2008, 01:34:41 | Сообщение # 7
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
ConnorMcLeod, я полагаю :D
 
se7hДата: Вторник, 11.03.2008, 11:26:19 | Сообщение # 8
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
Quote (DaTa)
ConnorMcLeod, я полагаю

и как вы догадались? :D


 
VENДата: Вторник, 11.03.2008, 11:39:59 | Сообщение # 9
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Перемещено из "Помощь по скриптингу".
 
se7hДата: Вторник, 11.03.2008, 11:59:10 | Сообщение # 10
Генерал-майор
Группа: Cупер-модеры
Сообщений: 424
Репутация: 13
Статус: Не в сети
DaTa, спасибо за указание верного направления! поменял CHAN_BODY на CHAN_AUTO и всё заработало

Рабочий плаг:

Code
/* AMX Mod X Plugin  
*   
* (c) Copyright 2008, ConnorMcLeod   
* This file is provided as is (no warranties).   
*   
*/   

#include <amxmodx>  

#define VOL_NULL    0.0  
#define VOL_MID    0.4  
#define FLAG_NONE    0  
#define PITCH_NONE    0  

new const g_heartbeat[] = "player/heartbeat1.wav"  

new g_pcvarLowHp  

public plugin_precache()  
{  
      precache_sound(g_heartbeat)  
}  

public plugin_init()  
{  
      register_plugin("Low Hp Heart Beat", "0.1", "ConnorMcLeod")  

      g_pcvarLowHp = register_cvar("heartbeat_hp", "20")  

      register_event("Damage", "e_Damage", "be", "2>0")  
      register_event("DeathMsg", "e_DeathMsg", "a")  
}  

public e_Damage(id)  
{  
      if( get_user_health(id) > get_pcvar_num(g_pcvarLowHp) )  
          return  

      emit_sound(id, CHAN_AUTO, g_heartbeat, VOL_NULL, ATTN_NONE, SND_STOP, PITCH_NONE)  
      emit_sound(id, CHAN_AUTO, g_heartbeat, VOL_MID, ATTN_NORM, FLAG_NONE, PITCH_NORM)  
}  

public e_DeathMsg()  
{  
      emit_sound(read_data(2), CHAN_AUTO, g_heartbeat, VOL_NULL, ATTN_NONE, SND_STOP, PITCH_NONE)  
}


 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2025