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

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

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

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

История благодарностей участнику KOBRA71 ::: Спасибо сказали: 12
Дата поста: В теме: За сообщение: Спасибо сказали:
17.10.2018, 10:56 AFK Manager [ReAPI]
Цитата
g_iMaxPlayers = get_maxplayers();

Начиная с версии Amx Mod X 1.8.3 имеется MaxClients

Цитата
if(user_has_weapon(id, CSW_C4))

if(get_entvar(id, var_weapons) & (1<<CSW_C4))

Цитата
#if defined AFK_BOMB_TRASFER_MSG
new playername[MAX_NAME_LENGTH];
get_entvar(i, var_netname, playername, charsmax(playername));
client_print_color(0, 0,"^1[^4Сервер^1] Бомба была перемещена к^4 %s^1, потому что ^4%s ^1находится ^3АФК.", playername, name);
#endif

Создание переменной в цикле.

Цитата
engclient_cmd(id, "drop", "weapon_c4");

rg_drop_item(id, "weapon_c4");

Цитата
#if defined AFK_FLAG_IMMUNITY
if(IsUserVip(i)) break;
#endif

Вип найден, цикл завершается.

Цитата
stock bool:xs_vec_equal(const Float:vec1[], const Float:vec2[])
return (vec1[0] == vec2[0]) && (vec1[1] == vec2[1]) && (vec1[2] == vec2[2]);

stock xs_vec_copy(const Float:vecIn[], Float:vecOut[])
{
vecOut[0] = vecIn[0];
vecOut[1] = vecIn[1];
vecOut[2] = vecIn[2];
}

#include <xs>

Цитата
client_print_color(0, 0, "^1[^4Сервер^1] Игрок ^3%s ^1был перемещен в зрители, так как был ^3AFK.", name);
client_print_color(id, 0, "^1[^4Сервер^1] Вы не проявляете активность! ^3Предупреждения^1: ^4%i/%i", g_iWarning[id], AFK_MAX_WARNING);
client_print_color(0, 0,"^1[^4Сервер^1] Бомба была перемещена к^4 %s^1, потому что ^4%s ^1находится ^3АФК.", playername, name);
client_print_color(0, 0, "^1[^4Сервер^1] Игрок ^4%s ^1выкинул бомбу, так как находится ^3AFK.", name);
client_print_color(0, 0, "^1[^4Сервер^1] Игрок^3 %s ^1удален за длительное нахождение в спектрах.", name);

enum
{
print_team_default = 0,
print_team_grey = -1,
print_team_red = -2,
print_team_blue = -3,
};

Цитата
Float:g_fOldAngles[33][3]

А как же MAX_CLIENTS+1

Цитата
new name[MAX_NAME_LENGTH];

new name[MAX_CLIENTS+1][MAX_NAME_LENGTH];

Цитата
if(i != id && is_user_alive(i) && (get_member(i, m_iTeam) == TEAM_TERRORIST)){

Если используешь биты, можно добавить проверку живого игрока.
ssx, TheArtemMaps, Xramer
19.3.2017, 14:06 Твердость entity
Код
set_pev( iEntity, pev_solid, SOLID_BBOX );

SOLID_

#define SOLID_NOT 0 // No interaction with other objects
#define SOLID_TRIGGER 1 // Touch on edge, but not blocking
#define SOLID_BBOX 2 // Touch on edge, block
#define SOLID_SLIDEBOX 3 // Touch on edge, but not an onground
#define SOLID_BSP 4 // BSP clip, touch on edge, block
eat1k
23.12.2016, 20:50 [ УБИЙСТВА ] Homicide statistics
Хотя, мне кажется так будет лучше.

Код

Код:

#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >

#define MAX_CLIENTS 32

#define m_LastHitGroup 75

new g_iKillCount[ MAX_CLIENTS +1 ];

new bool: g_bszFirstBlood;

new bool: g_bszSoundsEnable[ MAX_CLIENTS +1 char ];

new const SOUNDS_KILL[ ][ ] =
{
"soundkills/firstkill.wav",
"soundkills/doublekill.wav",
"soundkills/tripplekill.wav",
"soundkills/multikill.wav",
"soundkills/crazy.wav",
"soundkills/rampage.wav",
"soundkills/headshot.wav"
};

public plugin_init( )
{
register_plugin( "", "", "" );

register_logevent( "LogEV_RoundStart", 2, "1=Round_Start" );

register_clcmd( "say /sounds", "Command_Sounds" );
register_clcmd( "say_team /sounds", "Command_Sounds" );

RegisterHam( Ham_Killed, "player", "CPlayer__Killed_Post", .Post = 1 );
}

public plugin_precache( )
{
for( new i = 0; i < sizeof SOUNDS_KILL; i++ )
engfunc( EngFunc_PrecacheSound, SOUNDS_KILL[ i ] );
}

public LogEV_RoundStart( )
{
g_bszFirstBlood = true;

for( new iPlayers = MAX_CLIENTS; iPlayers > 0; iPlayers-- )
g_iKillCount[ iPlayers ] = 0;
}

public Command_Sounds( iPlayer )
{
g_bszSoundsEnable{ iPlayer } = !g_bszSoundsEnable{ iPlayer };
}

public CPlayer__Killed_Post( iVictim, iAttacker, iGib )
{
if( iVictim == iAttacker || !is_user_connected( iAttacker ) )
return;

if( !g_bszSoundsEnable{ iAttacker } )
return;

g_iKillCount[ iAttacker ]++;

if( get_pdata_int( iVictim, m_LastHitGroup ) == HIT_HEAD )
{
if( g_bszFirstBlood )
{
client_cmd( 0, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
client_cmd( 0, "spk %s", SOUNDS_KILL[ 6 ] );

return;
}

if( g_bszFirstBlood )
{
client_cmd( 0, "spk %s", SOUNDS_KILL[ 0 ] );

g_bszFirstBlood = false;
}
else
{
switch( g_iKillCount[ iAttacker ] )
{
case 2: client_cmd( 0, "spk %s", SOUNDS_KILL[ 1 ] );
case 3: client_cmd( 0, "spk %s", SOUNDS_KILL[ 2 ] );
case 4: client_cmd( 0, "spk %s", SOUNDS_KILL[ 3 ] );
case 5: client_cmd( 0, "spk %s", SOUNDS_KILL[ 4 ] );
case 6:
{
client_cmd( 0, "spk %s", SOUNDS_KILL[ 5 ] );

g_iKillCount[ iAttacker ] = 5;
}
}
}
}

public client_putinserver( iPlayer )
{
g_bszSoundsEnable{ iPlayer } = true;

g_iKillCount[ iPlayer ] = 0;
}

niceserver, steelzzz
23.12.2016, 14:04 [ УБИЙСТВА ] Homicide statistics
Код:

#include < amxmodx >

new const g_Source_Sound [ ][ ] =
{
"soundkills/firstkill.wav",
"soundkills/doublekill.wav",
"soundkills/tripplekill.wav",
"soundkills/multikill.wav",
"soundkills/crazy.wav",
"soundkills/rampage.wav"
};

#define SOUND_HEADSHOT "soundkills/headshot.wav"

new MyKills [ 33 ], Sounds [ 33 ], s_fb

public plugin_init ( )
{
register_plugin ( "Homicide statistics", "1.0", "OverGame" )

register_clcmd ( "say /sounds", "func_hs" )
register_clcmd ( "say_team /sounds", "func_hs" )

register_event ( "DeathMsg", "event_killing", "a", "1>0" )
register_logevent ( "event_roundstart", 2, "1=Round_Start" )
s_fb = true
}

public plugin_precache ( )
{
for ( new i; i < sizeof ( g_Source_Sound ); i++ )
precache_sound ( g_Source_Sound [ i ] )

precache_sound( SOUND_HEADSHOT );
}

public func_hs ( id )
{
if ( Sounds [ id ] )
Sounds [ id ] = false
else
Sounds [ id ] = true
}

public event_roundstart ( )
{
s_fb = true

for ( new id = 1; id < 33; id++ )
MyKills [ id ] = 0

return PLUGIN_CONTINUE
}

public event_killing ( )
{
new iKiller = read_data ( 1 )
new iVictim = read_data ( 2 )
new iHead = read_data( 3 );

if ( !is_user_connected ( iKiller ) ||
!is_user_connected ( iVictim ) || iKiller == iVictim ) return PLUGIN_HANDLED

for ( new id = 1; id < 33; id++ )
{
if ( !Sounds [ id ] )
return PLUGIN_HANDLED
}

if( iHead )
{
emit_sound( 0, CHAN_AUTO, SOUND_HEADSHOT, 1.0, 1.0, 0, 100 );

return PLUGIN_HANDLED;
}

MyKills [ iKiller ]++

if ( s_fb )
{
emit_sound ( 0, 0, g_Source_Sound [ 0 ], 1.0, 1.0, 0, 100 )
s_fb = false
} else
switch ( MyKills [ iKiller ] )
{
case 2 : emit_sound ( 0, 0, g_Source_Sound [ 1 ], 1.0, 1.0, 0, 100 )
case 3 : emit_sound ( 0, 0, g_Source_Sound [ 2 ], 1.0, 1.0, 0, 100 )
case 4 : emit_sound ( 0, 0, g_Source_Sound [ 3 ], 1.0, 1.0, 0, 100 )
case 5 : emit_sound ( 0, 0, g_Source_Sound [ 4 ], 1.0, 1.0, 0, 100 )
case 6 :
{
emit_sound ( 0, 0, g_Source_Sound [ 5 ], 1.0, 1.0, 0, 100 )
MyKills [ iKiller ] = 5
}
}

return PLUGIN_HANDLED
}

public client_putinserver ( id )
{
MyKills [ id ] = 0
Sounds [ id ] = true
}

niceserver
28.11.2016, 9:48 Смена команды в любой момент. carter
27.11.2016, 2:16 Надпись VIP в таблице результатов при нажатии TAB
register_message( 84, "MSG_ScoreAttrib" );

public MSG_ScoreAttrib( )
{
if( get_user_flags( get_msg_arg_int( 1 ) ) & ADMIN_USER )
set_msg_arg_int( 2, ARG_BYTE, ( 1<<2 ) );
}
carter, ruslankov