AMX MOD X
Суббота, 20.04.2024, 06:01:26



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » ПОМОГИТЕ СО СКРИПТОМ!!! (cmd_say_votemap)
ПОМОГИТЕ СО СКРИПТОМ!!!
RodrigezzДата: Четверг, 22.12.2011, 00:11:36 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Не в сети
Есть такой вот скрипт:
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
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » ПОМОГИТЕ СО СКРИПТОМ!!! (cmd_say_votemap)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024