Rodrigezz | Дата: Четверг, 22.12.2011, 00:11:36 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Не в сети
| Есть такой вот скрипт: public cmd_say_votemap ( id ) { if ( !get_pcvar_float ( pcv_voteratio ) ) { say_message ( id, LOG_OFF, "%L", id, "CL_VOTE_MAP_CHANGE_DISABLE" )
return PLUGIN_HANDLED }
if ( get_pcvar_float ( pcv_timeout_nominate ) ) { new timer = check_disable_nominate()
if ( timer ) { say_message ( id, LOG_OFF, "%L", id, "CL_VOTE_MAP_CHANGE_TIMEOUT", timer / 60, timer % 60 )
return PLUGIN_HANDLED } }
if ( g_mapvoteprogress || g_votemap_full ) { say_message ( id, LOG_OFF, "%L", id, "CL_VOTING_PROGRESS" )
return PLUGIN_HANDLED }
if ( g_votemap_idplayer[id] ) { say_message ( id, LOG_OFF, "%L", id, "CL_VOTE_MAP_ALREADY" ) }
else { new name[32]
g_votemap_idplayer[id] = true get_user_name ( id, name, sizeof ( name ) - 1 ) say_message ( 0, LOG_ON, "%L", AUTO_LANG, "CL_VOTE_MAP_CHANGE", name ) }
new players[32], num, voted get_players ( players, num, "ch" )
for ( new i = 0; i < num; ++i ) { if ( g_votemap_idplayer[players[i]] ) { if ( get_user_flags ( players[i] ) & get_admin_level_flag() ) voted += get_pcvar_num ( pcv_admin_voteweight )
else voted++ } }
if ( num && ( floatround (get_pcvar_float ( pcv_voteratio ) * 100.0 ) > ( voted * 100 / num ) ) ) { say_message ( 0, LOG_ON, "%L", AUTO_LANG, "CL_VOTE_MAP_PLAYERS", voted, floatround ( get_pcvar_float ( pcv_voteratio ) * num + 0.49 ) )
return PLUGIN_CONTINUE }
g_votemap_full = true say_message ( 0, LOG_ON, "%L", AUTO_LANG, "CL_VOTE_MAP_CHANGE_ALL" )
return PLUGIN_CONTINUE } ------------------------------------------------------------------------------------------------------------
if ( num && ( floatround (get_pcvar_float ( pcv_voteratio ) * 100.0 ) > ( voted * 100 / num ) ) ) { say_message ( 0, LOG_ON, "%L", AUTO_LANG, "CL_VOTE_MAP_PLAYERS", voted, floatround ( get_pcvar_float ( pcv_voteratio ) * num + 0.49 ) )
return PLUGIN_CONTINUE
Вот эта его часть выводит в чат сообщение что столько то игроков из стольки то необходимых проголосовали за смену карты
CL_VOTE_MAP_PLAYERS = %d игроков из %d необходимых проголосовало за досрочную смену карты Сообщение это выводиться в чат каждый раз когда игрок голосует, то есть один игрок может нажимать m2 (/rtv) хоть 100 раз и в чат сто раз напишет сообщение CL_VOTE_MAP_PLAYERS, то есть это как спам будет. Как сделать так чтобы после первого вызова этого сообщения игроком второй раз оно уже в чате не появлялось если он снова нажмет m2. При этом если m2 нажмет другой игрок то сообщение CL_VOTE_MAP_PLAYERS появиться. Бан чата тут не помогает, так как сообщение плагин отправляет. Вот надо как то отредактировать чтобы после голосования одним игроком это сообщение появлялось только когда проголосует другой игрок, который до этого не голосовал.
Сообщение отредактировал Rodrigezz - Четверг, 22.12.2011, 00:17:08 |
|
| |