Там это было необходимо.не зря наверное gm-x на нем работал
grip_json_serial_to_string
выдал мне пустые данные?public client_authorized( id, const sAuthID[ ] )
{
if( !is_user_bot( id ) && !is_user_hltv( id ) )
{
new sIP[ MAX_LENGTH__IP ];
get_user_ip( id, sIP, charsmax( sIP ), .without_port = true );
new sName[ MAX_LENGTH__NAME * 3 ];
get_user_name( id, sName, charsmax( sName ) );
new GripJSONValue: gripData = grip_json_init_object( );
grip_json_object_set_string( gripData, "AuthID", sAuthID );
grip_json_object_set_string( gripData, "IP", sIP );
grip_json_object_set_string( gripData, "Name", sName );
func_MakeRequest( gripData );
grip_destroy_json_value( gripData );
}
}
func_MakeRequest( GripJSONValue: gripData )
{
new GripRequestOptions: gripOptions = grip_create_default_options( );
grip_options_add_header( gripOptions, "Content-Type", "application/json" );
grip_options_add_header( gripOptions, "User-Agent", "Grip" );
new GripBody: gripBody = grip_body_from_json( gripData );
new sBuffer[ 512 ];
grip_json_serial_to_string( gripData, sBuffer, charsmax( sBuffer ) );
log_to_file( "grip_string.log", "sBuffer: %s", sBuffer );
grip_request( "http://grip.gmforce.ru/", gripBody, GripRequestTypePost, "handler_Request", gripOptions );
grip_destroy_body( gripBody );
grip_destroy_options( gripOptions );
}
L 02/16/2021 - 18:11:17: [JSON] Invalid JSON value! 0
L 02/16/2021 - 18:11:17: [AMXX] Run time error 10: native error (native "json_serial_to_string")
json_serial_to_string
я работаю с json_object_set_bool
, json_object_set_string
и так далее, но ошибок в них нету, именно в json_serial_to_string
вылезла. if (!JsonMngr->IsValidHandle(value))
if (handle >= m_Handles.length() || !m_Handles[handle])
Для краша.Или это для чего то еще сделано?
@param channel Channel to emit from
- что за каналы, то есть если звук в разных каналах то он будет накладываться, если в одном и том же, то заменятся?#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_STREAM 5 /* allocate stream channel from the static or dynamic area */
#define CHAN_STATIC 6 /* allocate channel from the static area */
#define CHAN_NETWORKVOICE_BASE 7 /* voice data coming across the network */
#define CHAN_NETWORKVOICE_END 500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */
@param attn Sound attenuation
#define ATTN_NONE 0.00
#define ATTN_NORM 0.80
#define ATTN_IDLE 2.00
#define ATTN_STATIC 1.25
@param flags Emit flags
#define SND_SPAWNING (1<<8) // we're spawing, used in some cases for ambients
#define SND_STOP (1<<5) // stop sound
#define SND_CHANGE_VOL (1<<6) // change sound vol
#define SND_CHANGE_PITCH (1<<7) // change sound pitch
@param pitch Sound pitch
#define PITCH_NORM 100 /* non-pitch shifted */
#define PITCH_LOW 95 /* other values are possible - 0-255, where 255 is very high */
#define PITCH_HIGH 120
@param emitFlags Additional Emit2 flags, look at the defines like SND_EMIT2_*
#define SND_EMIT2_NOPAS BIT(0) // Never to check PAS
#define SND_EMIT2_INVOKER BIT(1) // Do not send to the client invoker
что за каналы, то есть если звук в разных каналах то он будет накладываться, если в одном и том же, то заменятся?
@param channel
- Канал для воспроизводства разных типов звуков. Выстрелы в одном, войсчат в другом, шаги в третьем и т.д. В CHAN_AUTO звуки не сбивают друг друга, если не ошибаюсь.@param attn
- скорее всего значение затухания звука при отдалении. Всегда ATTN_NORM применял.@param pitch
- скорость воспроизведения. На 30 обычно вообще всё плохо, на 200 бурундуки поют.@param flags
- флаги указывающие что делать эмитсунду. По дефолту 0 - просто воспроизводит.public plugin_init( )
{
RegisterHookChain( RG_CSGameRules_PlayerKilled, "hook_PlayerKilled_Post", .post = true );
}
public hook_PlayerKilled_Post( const iVictim, const iKiller, const iInflictor )
{
if( iVictim != iKiller && iInflictor != iKiller && get_member( iVictim, m_bKilledByGrenade ) )
{
rg_send_audio( 0, SOUND__GRENADE_KILL );
}
}
iInflictor != iKiller
??сделаешь тему полезной для остальных пользователей. Добавишь оглавление с темами вопросов и ссылками на полученные решения.
это еще вроде влияет на радиус слышимости звука. Помню что ambient_generic выставляет эти значения в зависимости от SF_AMBIENT_SOUND_ *@param attn Sound attenuation
SND_STOP - чтобы остановить проигрывание немедленно.@param flags Emit flags