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

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

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

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

История благодарностей участнику Esecman ::: Спасибо сказали: 208
Дата поста: В теме: За сообщение: Спасибо сказали:
29.8.2014, 13:17 Звук при сообщении в чат
Цитата(mcrc @ 29.8.2014, 4:24) *
А как добавить исключения?
Чтобы, к примеру, звук не воспроизводился для сообщений, типа rs

Код:

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say", "handle_say")
}

public handle_say(id)
{
new said[192]
read_args(said,191)

if(contain(said, "/rs") != -1 || contain(said, "/resetscore"))
return PLUGIN_HANDLED
}
mcrc
28.8.2014, 20:40 Единая база обменов
pist0nchik,
Обменял мне WMR на QIWI.
Благодарю :-)
pist0nchik
26.8.2014, 20:03 Режим Only HS - проблема с ножом
Цитата
hsonly_knife "" - Если стоит 0, то игрок может убивать ножом в тело.
eone
26.8.2014, 9:42 Помогите с плагином паутинка
Цитата(Fred Perry @ 26.8.2014, 10:25) *
Пробуй

Код:
#define FLAG_ADMINADMIN_SLAY //Флаг админа


Убило:
Код:
public Spawn_player(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
blockhook[id] = 0
}
}
Kirbron
14.7.2014, 6:24 reset score Dhud +Sound
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>

#define PLUGIN "resetscore"
#define VERSION "2.5.7"
#define AUTHOR "Esecman"

new g_Enable, g_ResetMoney, iMoneyToReset
new bool:hasReset[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR) // регистрируем плагин
register_dictionary("resetscore.txt") // подключение ланг файла
register_clcmd("say /rs", "resetscore") // команда в чате
register_clcmd("say_team /rs", "resetscore") // команда в чате
register_clcmd("say resetscore", "resetscore") // команда в чате
register_clcmd("say_team resetscore", "resetscore") // команда в чате

g_Enable = register_cvar("resetscore_enable", "0") // Включить/Отключить 1/0 плагин "ResetScore"
g_ResetMoney = register_cvar("resetmoney_enable", "0") // Cash за reset score (Включить/Отключить 1/0)
iMoneyToReset = register_cvar("money_reset", "1000") // если включена функция g_ResetMoney (Отнимать 1000 $)
}

public resetscore(id)
{
if(!is_user_connected(id)) return PLUGIN_HANDLED

new deaths = get_user_deaths(id)
new money = cs_get_user_money(id)

if(get_pcvar_num(g_Enable) == 1)
{
if(deaths == 0)
{
client_printcolor(id, "%L", LANG_SERVER, "NO_HAVE_DEATHS")

return PLUGIN_HANDLED
}

if(get_pcvar_num(g_ResetMoney))
{

if(money > get_pcvar_num(iMoneyToReset))
{
cs_set_user_money(id, money - get_pcvar_num(iMoneyToReset))

hasReset[id] = true

}

else
{
client_printcolor(id, "%L", LANG_SERVER, "NO_MONEY_TO_RESET")
client_printcolor(id, "%L", LANG_SERVER, "MSG_INF_NO_MONEY", money)
client_printcolor(id, "%L", LANG_SERVER, "MSG_INF_NO_MONEY2", get_pcvar_num(iMoneyToReset))

return PLUGIN_HANDLED
}
}

set_user_frags(id, 0)
cs_set_user_deaths(id, 0)

client_printcolor(id, "%L", LANG_SERVER, "RESETSCORE")

if(hasReset[id])
{
client_printcolor(id, "%L", LANG_SERVER, "MINUS_MONEY", get_pcvar_num(iMoneyToReset))

hasReset[id] = false
}

return PLUGIN_HANDLED
}

else
{
client_printcolor(id, "%L", LANG_SERVER, "RESETSCORE_NOT_ENABLED")

return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}

stock client_printcolor( const id, const input[], any:... )
{
new count = 1, players[ 32 ]
static msg[ 191 ]
vformat( msg, 190, input, 3 )

replace_all( msg, 190, "!g", "^4" )
replace_all( msg, 190, "!n", "^1" )
replace_all( msg, 190, "!t", "^3" )

if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
{
for( new i = 0; i < count; i ++ )
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
write_byte( players[ i ] )
write_string( msg )
message_end()
}
}
}
}


resetscore.txt(/data/lang)

[ru]
RESETSCORE = !n[!gResetScore!n] !gВаш счет успешно обнулен!
NO_HAVE_DEATHS = !n[!gResetScore!n] !gВы не имеете смертей для обнуления!
NO_MONEY_TO_RESET = !n[!gResetScore!n] !gНедостаточно средств для обнуления счета!
MINUS_MONEY = !n[!gResetScore!n] !nС тебя было списано !g%d$ !nза обнуление счета!
MSG_INF_NO_MONEY = !n[!gResetScore!n] !nВы имеете: !g%d$
MSG_INF_NO_MONEY2 = !n[!gResetScore!n] !nДля обнуления счета нужно: !g%d$
RESETSCORE_NOT_ENABLED = !n[!gResetScore!n] !gДанная команда отключена!

[en]
RESETSCORE = !n[!gResetScore!n] !gYour score was successfully reset!
NO_HAVE_DEATHS = !n[!gResetScore!n] !gYou don't have deaths to zero!
NO_MONEY_TO_RESET = !n[!gResetScore!n] !gYou haven't enough money to zero the score!
MINUS_MONEY = !n[!gResetScore!n] !nYou have lost !g%d$ !nfor reset the score!
MSG_INF_NO_MONEY = !n[!gResetScore!n] !nYou have: !g%d$
MSG_INF_NO_MONEY2 = !n[!gResetScore!n] !nTo zero the score: !g%d$
RESETSCORE_NOT_ENABLED = !n[!gResetScore!n] !gThis command is disabled!

- Сохранить в utf8 без BOM
Kasper55, verizon
8.7.2014, 7:18 Подарю Акк на Fortime
Fortime -> Forteam
myac
8.7.2014, 1:52 переместить информер.
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN_NAME "Nextmap Chooser"
#define PLUGIN_VERSION "1.9"
#define PLUGIN_AUTHOR "UFPS.Team"

#define SELECTMAPS 5
#define MAPS_MAX 128
#define AUTO_LANG -76

#define charsmax(%1) (sizeof(%1)-1)


new g_mapNums
new g_mapName [MAPS_MAX][32]

new g_nextName [SELECTMAPS]
new g_voteCount [SELECTMAPS + 2]
new g_mapVoteNum
new g_teamScore [2]
new g_lastMap [32]
new g_rtv_count
new g_rtv_vote [33]

new g_MENU [512]
new g_MENU_keys = ( 1 << SELECTMAPS + 1 )
new g_MENU_name [64]
new g_MENU_title [128]

new const speak[][] = { "one", "two", "three", "four", "five" }

new g_coloredMenus = 0
new bool:g_rtv = false
new bool:g_lastround = false
new bool:g_changemap = false
new bool:g_selected = false
new Float:g_timelimit = 0.0

new pcv_lastround
new pcv_extendmap_max
new pcv_extendmap_step
new pcv_vote_time
new pcv_vote_delay
new pcv_votemap_ratio
new pcv_amx_nextmap
new pcv_mp_chattime
new pcv_mp_timelimit
new pcv_mp_winlimit
new pcv_mp_maxrounds


public plugin_init( )
{
register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )

register_dictionary ( "common.txt" )
register_dictionary ( "lastround.txt" )
register_dictionary ( "mapchooser.txt" )

register_clcmd( "say rockthevote", "cmd_say_rtv" )
register_clcmd( "say /rockthevote", "cmd_say_rtv" )
register_clcmd( "say rtv", "cmd_say_rtv" )
register_clcmd( "say /rtv", "cmd_say_rtv" )

register_clcmd( "say_team rockthevote", "cmd_say_rtv" )
register_clcmd( "say_team /rockthevote", "cmd_say_rtv" )
register_clcmd( "say_team rtv", "cmd_say_rtv" )
register_clcmd( "say_team /rtv", "cmd_say_rtv" )

pcv_vote_time = pcvar_register( "amx_vote_time", "15" )
pcv_vote_delay = pcvar_register( "amx_vote_delay", "3" )
pcv_votemap_ratio = pcvar_register( "amx_votemap_ratio", "0.60" )
pcv_extendmap_max = pcvar_register( "amx_extendmap_max", "45" )
pcv_extendmap_step = pcvar_register( "amx_extendmap_step", "15" )

pcv_mp_chattime = get_cvar_pointer( "mp_chattime" )
pcv_mp_timelimit = get_cvar_pointer( "mp_timelimit" )
pcv_mp_winlimit = get_cvar_pointer( "mp_winlimit" )
pcv_mp_maxrounds = get_cvar_pointer( "mp_maxrounds" )
pcv_amx_nextmap = get_cvar_pointer( "amx_nextmap" )

if( !pcv_amx_nextmap )
pcv_amx_nextmap = register_cvar( "amx_nextmap", "", FCVAR_SERVER | FCVAR_EXTDLL | FCVAR_SPONLY )

if( cstrike_running( ) )
{
pcv_lastround = register_cvar( "amx_lastround", "1" )
register_event( "TeamScore", "team_score", "a" )
register_logevent( "evRoundStart", 2, "0=World triggered", "1=Round_Start" )
}

register_event( "30", "mapChange", "a" )

g_coloredMenus = colored_menus( )

get_localinfo( "lastMap", g_lastMap, charsmax( g_lastMap ) )
set_localinfo( "lastMap", "" )

set_cvar_float( "sv_restart", 1.0 )
}

public plugin_cfg( )
{
new mapcycle[64]
get_configsdir( mapcycle, charsmax( mapcycle ) )
format( mapcycle, charsmax( mapcycle ), "%s/maps.ini", mapcycle )

if( !file_exists( mapcycle ) )
get_cvar_string( "mapcyclefile", mapcycle, charsmax( mapcycle ) )

if( !file_exists( mapcycle ) )
copy( mapcycle, charsmax( mapcycle ), "mapcycle.txt" )

if( loadSettings( mapcycle) )
set_task( 15.0, "voteNextmap", 987456, "", 0, "b" )

formatex( g_MENU_name, charsmax( g_MENU_name ), "%L", "en", "CHOOSE_NEXTM" )
register_menucmd( register_menuid( g_MENU_name ), ( -1 ^ ( -1 << ( SELECTMAPS + 2 ) ) ), "countVote" )
}

public countVote( id, key )
{
if( get_cvar_float( "amx_vote_answers" ) )
{
new name[32]
get_user_name( id, name, charsmax( name ) )

if( key == SELECTMAPS )
client_print( 0, print_chat, "%L", LANG_PLAYER, "CHOSE_EXT", name )

else if( key < SELECTMAPS )
{
new map[32]
copy( map, charsmax( map ), g_mapName[g_nextName[key]] )
client_print( 0, print_chat, "%L", LANG_PLAYER, "X_CHOSE_X", name, map )
}
}

g_voteCount[key]++

return PLUGIN_HANDLED
}

public voteNextmap( )
{
if( !g_mapNums ) return 0

new winlimit = get_pcvar_num( pcv_mp_winlimit )
new maxrounds = get_pcvar_num( pcv_mp_maxrounds )

if( g_rtv )
{
winlimit = 0
maxrounds = -1
}

if( winlimit )
{
new c = winlimit - 2

if( ( c > g_teamScore[0] ) && ( c > g_teamScore[1] ) )
{
g_selected = false
return 0
}
}

else if( maxrounds )
{
if( ( maxrounds - 2 ) > ( g_teamScore[0] + g_teamScore[1] ) )
{
g_selected = false
return 0
}
}

else
{
new timeleft = get_timeleft( )

if( timeleft < 1 || timeleft > 129 )
{
g_selected = false
return 0
}
}

if( g_selected ) return 0

g_selected = true

new pos, a

g_MENU_keys = ( 1 << SELECTMAPS + 1 )

new dmax = clamp( g_mapNums, 0, SELECTMAPS )

for( g_mapVoteNum = 0; g_mapVoteNum < dmax; g_mapVoteNum++ )
{
a = random_num( 0, g_mapNums - 1 )

while( isInMenu( a ) ) { if( ++a >= g_mapNums ) a = 0; }

g_nextName[g_mapVoteNum] = a
pos += format( g_MENU[pos], charsmax( g_MENU ), "%d. %s^n", g_mapVoteNum + 1, g_mapName[a] )
g_MENU_keys |= ( 1 << g_mapVoteNum )
g_voteCount[g_mapVoteNum] = 0
}

g_MENU[pos++] = '^n'
g_voteCount[SELECTMAPS] = 0
g_voteCount[SELECTMAPS + 1] = 0

new mapname[32]
get_mapname( mapname, charsmax( mapname ) )

if( ( winlimit + maxrounds ) == 0 && ( get_pcvar_float( pcv_mp_timelimit ) < get_pcvar_float( pcv_extendmap_max ) ) )
{
pos += format( g_MENU[pos], charsmax( g_MENU ), "%d. %L^n", SELECTMAPS + 1, LANG_SERVER, "EXTED_MAP", mapname )
g_MENU_keys |= ( 1 << SELECTMAPS )
}

format( g_MENU[pos], charsmax( g_MENU ), "%d. %L", SELECTMAPS + 2, LANG_SERVER, "NONE" )
set_task( 1.0, "countDown", 5 )

return 1
}

stock bool:isInMenu( id )
{
for( new a; a < g_mapVoteNum; a++ )
if( id == g_nextName[a] ) return true

return false
}

public countDown( timer )
{
if( timer )
{
client_cmd( 0 ,"spk ^"fvox/%s^"", speak[timer-1] )
say_hudmessage( 0, 64, 64, 64, 0.025, -1.0, 0, 0.0, 1.03, 0.0, 0.0, 4, "%L %L", AUTO_LANG, "CHOOSE_NEXTM", AUTO_LANG, "VOTE_COUNTER", timer, g_MENU )
set_task(1.0, "countDown", --timer)
}

else
set_task( 0.01, "showMenu" )
}

public showMenu( )
{
new Float:votetime = floatclamp( get_pcvar_float ( pcv_vote_time ), 10.0, 60.0 )

new menu[512], players[32], player, num
get_players( players, num, "ch" )

for( new i; i < num; i++ )
{
player = players[i]

formatex( g_MENU_title, charsmax( g_MENU_title ), g_coloredMenus ? "\y%L:\w^n^n" : "%L:^n^n", player, "CHOOSE_NEXTM" )
formatex( menu, charsmax( menu ), "%s%s", g_MENU_title, g_MENU )
show_menu( player, g_MENU_keys, menu, floatround( votetime ), g_MENU_name )
}

set_task( votetime + 0.5, "checkVotes" )

client_print( 0, print_chat, "%L", LANG_PLAYER, "TIME_CHOOSE" )
client_cmd( 0, "spk Gman/Gman_Choose%d", random_num( 1, 2 ) )
log_amx( "Vote: Voting for the nextmap started" )
}

public checkVotes( )
{
new b = 0

for( new a; a < g_mapVoteNum; ++a )
if( g_voteCount[b] < g_voteCount[a] ) b = a

if( g_voteCount[SELECTMAPS] > g_voteCount[b] && g_voteCount[SELECTMAPS] > g_voteCount[SELECTMAPS + 1] )
{
if( !g_timelimit )
g_timelimit = get_pcvar_float( pcv_mp_timelimit )

new Float:steptime = get_pcvar_float( pcv_extendmap_step )

new mapname[32]
get_mapname( mapname, charsmax( mapname ) )

set_pcvar_float( pcv_mp_timelimit, get_pcvar_float( pcv_mp_timelimit ) + steptime )
client_print( 0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_EXT", steptime )
log_amx( "Vote: Voting for the nextmap finished. Map %s will be extended to next %.0f minutes", mapname, steptime )

return
}

new smap[32]
if( g_voteCount[b] && g_voteCount[SELECTMAPS + 1] <= g_voteCount[b] )
{
copy( smap, charsmax( smap ), g_mapName[g_nextName[b]] )
set_pcvar_string( pcv_amx_nextmap, smap )
}

get_pcvar_string( pcv_amx_nextmap, smap, charsmax( smap ) )
client_print( 0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_NEXT", smap )
log_amx( "Vote: Voting for the nextmap finished. The nextmap will be %s", smap )

new players[32], num
get_players( players, num, "ch" )

if( g_rtv )
{
if( pcv_lastround && get_pcvar_num( pcv_lastround ) )
{
if( !g_timelimit )
g_timelimit = get_pcvar_float( pcv_mp_timelimit )

set_pcvar_float( pcv_mp_timelimit, 0.0 )

g_rtv = false
g_changemap = true
g_lastround = false

say_hudmessage( 0, 210, 0, 0, 0.02, 0.21, 1, 20.0, 10.0, 0.5, 0.15, 4, "%L", AUTO_LANG, "FINAL_ROUND" )

return
}

else
g_rtv = false
}

else if( num > 1 )
{
if( pcv_lastround )
{
set_task( 90.0 - floatclamp( get_pcvar_float ( pcv_vote_time ), 10.0, 60.0 ), "initiateLastRound", 23478, "", 0, "d" )
return
}
}

set_task( 1.0, "delayMapChange" )
}

public initiateLastRound( id )
{
if( !get_pcvar_num( pcv_lastround ) ) return PLUGIN_CONTINUE

if( !g_timelimit )
g_timelimit = get_pcvar_float( pcv_mp_timelimit )

g_lastround = true
set_pcvar_float( pcv_mp_timelimit, 0.0 )

set_hudmessage( 0, 255, 0, -1.0, 0.27, 1, 20.0, 10.0, 0.5, 0.15, 4 )
show_hudmessage( id, "%L", AUTO_LANG, "FINAL_COMING" )

return PLUGIN_CONTINUE
}

public evRoundStart( id )
{
if( !pcv_lastround ) return PLUGIN_CONTINUE

if( !get_pcvar_num( pcv_lastround ) ) return PLUGIN_CONTINUE

if( g_lastround )
{
g_changemap = true
g_lastround = false

set_hudmessage( 255, 0, 0, 0.56, 0.08, 1, 20.0, 10.0, 0.5, 0.15, 4 )
show_hudmessage( id, "%L", AUTO_LANG, "FINAL_ROUND" )
}

else if( g_changemap )
{
/*
message_begin ( MSG_ALL, SVC_INTERMISSION )
message_end ( )
*/

set_pcvar_float( pcv_mp_timelimit, 0.01 )
}

return PLUGIN_CONTINUE
}

public mapChange ( )
{
new Float:chattime = get_pcvar_float ( pcv_mp_chattime )

if ( chattime < 3.0 )
{
chattime = 3.0
set_pcvar_float ( pcv_mp_chattime, chattime )
}

set_task( chattime - 1.0, "delayMapChange" )

return PLUGIN_CONTINUE
}

public delayMapChange( )
{
new nextmap[32]
get_pcvar_string( pcv_amx_nextmap, nextmap, charsmax( nextmap ) )
server_cmd( "changelevel %s", nextmap )
}

loadSettings( filename[] )
{
if( !file_exists( filename ) )
{
log_amx( "Mapcycle file ^"%s^" not found", filename )
return 0
}

g_mapNums = 0

new currentMap[32], map[32], string[256]
get_mapname( currentMap, charsmax( currentMap ) )

new file = fopen( filename, "r" )

while( !feof( file ) )
{
fgets( file, string, charsmax( string ) )

if
(
( string[0] != ';' ) &&
( string[0] != '/' ) &&
parse( string, map, charsmax( map ) ) &&
isValidMap( map, charsmax( map ), currentMap ) &&
isMapCycle( map ) == -1
)
{
copy( g_mapName[g_mapNums++], charsmax( g_mapName[] ), map )
}

}

fclose( file )

return g_mapNums
}

stock bool:isValidMap( map[], const len, const currentMap[] )
{
remove_quotes ( map )
strtolower( map )

while( replace( map, len, "/", "" ) ) {}
while( replace( map, len, "\", "" ) ) {}
while( replace( map, len, ":", "" ) ) {}
while( replace( map, len, "*", "" ) ) {}
while( replace( map, len, "?", "" ) ) {}
while( replace( map, len, ">", "" ) ) {}
while( replace( map, len, "<", "" ) ) {}
while( replace( map, len, "|", "" ) ) {}
while( replace( map, len, ".", "" ) ) {}

if( is_map_valid( map ) && !equali( map, g_lastMap ) && !equali( map, currentMap ) ) return true

return false
}

stock isMapCycle( map[] )
{
for( new i; i < g_mapNums; i++ )
if( equali( g_mapName[i], map ) ) return i

return -1
}

public team_score( )
{
new team[2]

read_data( 1, team, 1 )
g_teamScore[( team[0]=='C' ) ? 0 : 1] = read_data( 2 )
}

public pcvar_register( const pcvar_name[], const pcvar_value[] )
{
new pcvar_index = get_cvar_pointer( pcvar_name )

if( !pcvar_index )
pcvar_index = register_cvar( pcvar_name, pcvar_value )

return pcvar_index
}

stock say_hudmessage( id, red=255, green=255, blue=255, Float:x=0.05, Float:y=0.45, effects=0, Float:fxtime=6.0, Float:holdtime=5.0, Float:fadeintime=0.5, Float:fadeouttime=0.15, channel=4, msg[], any:... )
{
new arg_num = numargs()
new arg_langid[16], arg_langcount

for( new i = 12; i < arg_num; i++ )
if( getarg( i ) == AUTO_LANG )
arg_langid[arg_langcount++] = i

new players[32], player, num

if( id )
{
players[0] = id
num = 1
}

else
get_players( players, num )

set_hudmessage( red, green, blue, x, y, effects, fxtime, holdtime, fadeintime, fadeouttime, channel )

new message[192]

for( new i; i < num; i++ )
{
player = players[i]

if( !is_user_connected( player ) ) continue

for( new j; j < arg_langcount; j++ )
setarg( arg_langid[j], 0, player )

vformat( message, charsmax( message ), msg, 14 )
show_hudmessage( player, message )
}
}

public cmd_say_rtv( id )
{
if( get_gametime( ) < ( get_pcvar_float( pcv_vote_delay ) * 60.0 ) )
{
new timeleft = floatround( get_pcvar_float( pcv_vote_delay ) * 60.0 - get_gametime( ) )

client_print( id, print_chat, "%L", id, "RTV_NOTALLOWED", timeleft / 60, timeleft % 60 )
}

else
{
if( g_rtv_vote[id - 1] == id ) client_print( id, print_chat, "%L", id, "RTV_ALREADY" )

else
{
g_rtv_vote[id - 1] = id
g_rtv_count++

static players[32], num
get_players( players, num, "ch" )

new Float:voteratio = floatclamp( get_pcvar_float ( pcv_votemap_ratio ), 0.0, 1.0 )

num = floatround( voteratio * num )

if( num <= g_rtv_count )
{
g_rtv = true
voteNextmap( )

return PLUGIN_CONTINUE
}

static name[32]
get_user_name( id, name, charsmax( name ) )

client_print( 0, print_chat, "%L", LANG_PLAYER, "RTV_ADDVOTE", name, num - g_rtv_count, floatround( voteratio * 100.0 ) )
}
}

return PLUGIN_CONTINUE
}

public client_disconnect( id )
{
if( g_rtv_vote[id - 1] == id )
{
g_rtv_vote[id - 1] = 0
g_rtv_count--
}
}

public plugin_end( )
{
if( g_timelimit )
set_pcvar_float( pcv_mp_timelimit, g_timelimit )

new current_map[32]
get_mapname( current_map, charsmax( current_map ) )

set_localinfo( "lastMap", current_map )

return PLUGIN_CONTINUE
}


// По другому и без warnings
andreiwiz
6.7.2014, 4:00 Добавить steamID и карту в плагин логирования подключений к серверу
Код:
#include <amxmodx>
#include <geoip>

#pragma semicolon 1

#define PLUGIN "JoinLog"
#define VERSION "1.0"
#define AUTHOR "Esecman"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}

public client_putinserver(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H) || !is_user_connected(id) || is_user_bot(id) || is_user_hltv(id)) return;

new szIP[32], szName[32], szCountry[45], szAuthID[25], szMapName[32];
get_user_name(id, szName, charsmax(szName));
get_user_ip(id, szIP, charsmax(szIP), 1);
get_user_authid(id, szAuthID, charsmax(szAuthID));
get_mapname(szMapName, charsmax(szMapName));
geoip_country(szIP, szCountry, charsmax(szCountry));
log_to_file("Players_list_log.log","Игрок %s | IP адрес: %s | Steamid: %s | Страна: %s | Карта: %s",szName, szIP, szAuthID, szCountry, szMapName);
}
Redir
5.7.2014, 3:49 Жалобы по форуму
Цитата(damilurg @ 5.7.2014, 4:45) *

не дал посону раскрутить сервер
andreiwiz
4.7.2014, 15:33 Определение steam игрока.
при client_putinserver только можно определить steam игрока (stock is_user_steam)
//
wopox3
27.6.2014, 2:16 [DR] Математика
Цитата(TouchDev1l @ 27.6.2014, 3:15) *
Я знаю. Я заходил к нему, но в "темы" ничего нету. sad.gif

ДОСТАЛ ТЕБЕ ССЫЛЬ!
AMX-X.RU
Mikasa
26.6.2014, 23:07 Поиграть 1х1 2х2 3х3
Спасибо
letsplayer
TouchDev1l,
За игру pif.gif
letsplayer, Mikasa
26.6.2014, 4:09 Жалобы по форуму
Заметил, что если репостнуть гиперссылку(пост), то вылезет html код.
Hollisch
25.6.2014, 23:33 Прошу помочь исправить ошибку в плагине full_server_idler_kicker
в plugin_init() изменить:
Код:
 g_pcvar_reservation = get_cvar_pointer("amx_reservation") 


>>

Код:
 g_pcvar_reservation = get_cvar_num("amx_reservation") 


в client_connect() изменить:

Код:
if (get_playersnum(1) <= g_maxplayers - get_pcvar_num(g_pcvar_reservation))


>>

Код:
 if (get_playersnum(1) <= g_maxplayers - g_pcvar_reservation) 


Цитата(XyLiGaN @ 25.6.2014, 22:54) *
noobik52,
Опять же это не paxn код.


Paxn не знаю.

Цитата(Bloo @ 25.6.2014, 23:04) *
noobik52, где логи с дебагом?

там один единственный Код:
get_pcvar_num()
и так можно понять :D
noobik52
25.6.2014, 16:23 надо подправить VIP под CSDM, чтоб давалось при возрождение
Цитата(trollface @ 25.6.2014, 17:18) *
Esecman,
Код:
 if (!is_user_connected(id)...) continue

is_user_alive(id) не не слышал?
на будущее форвард(или как там правильно назвать) Ham_Spawn срабатывает после выбора команды... даже если игрок мертвый

верно, не учел, что стрип происходит в alive моде :D
/// Спасибо
поправил пост #4
olegazaz
23.6.2014, 19:08 Рекламный вирус
Цитата(gooogle @ 23.6.2014, 19:46) *
Не не не ESET NOD 32 Самый нормальный не лагучий все видит

ничего он не видит.
Nebo, ssx
30.5.2014, 21:14 Я тут 6 лет ровно!
Ты бы еще день запуска cs 1.6 отметил.
Jlx7
29.5.2014, 17:20 Нужна помощь
Цитата(faRzAN @ 29.5.2014, 16:43) *
Я тебе в лс написал

http://www.17buddies.net
Забиваешь имя карты.
faRzAN
11.5.2014, 16:47 vip plugin
лучше сразу исходник. итак видно проблему уже.
TeamPlay
10.5.2014, 20:06 Услуги by dimka198
Цитата(umprex @ 3.5.2014, 23:01) *
dimka198, я же просил ipb 2.3.6, а не 3.3.4, исправьте пожалуйста
http://forumumprex.syperserver.ru/

UPD: Ладно, не буду над вами издеваться, вы никогда не установите ipb 2.3.6 на php 5.3

а что тут такого особенного, что невозможно поставить 'ipb 2.3.6'?
BaHeK

9 страниц V   1 2 ... 7 8 »